Методы программного взаимодействия с JDownloader 2: API, CLI и удаленное управление

“jdownloader2” – популярный инструмент управления загрузкой, который позволяет пользователям эффективно загружать файлы из различных источников. Хотя он в первую очередь ориентирован на немецкоязычный рынок, у него есть английская версия, и он широко используется во всем мире. Вот несколько методов, а также примеры кода для программного взаимодействия с JDownloader 2:

  1. API JDownloader 2 (Java):
    JDownloader 2 предоставляет API на основе JSON, который позволяет вам контролировать и отслеживать загрузки. Вот пример того, как приостановить все загрузки с помощью API:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class JDownloader2APIExample {
    public static void main(String[] args) {
        try {
            URL url = new URL("https://localhost:10025/flashgot/");
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("GET");
            BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            String line;
            StringBuilder response = new StringBuilder();
            while ((line = reader.readLine()) != null) {
                response.append(line);
            }
            reader.close();
            connection.disconnect();
            System.out.println(response.toString());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
  1. Интерфейс командной строки JDownloader 2 (CLI):
    JDownloader 2 предоставляет интерфейс командной строки, который позволяет управлять приложением с терминала или выполнять команды программным способом. Вот пример запуска JDownloader 2 из командной строки:
java -jar JDownloader.jar
  1. Удаленное управление JDownloader 2 (My.JDownloader):
    JDownloader 2 предлагает функцию удаленного управления через Интернет под названием My.JDownloader. Вы можете использовать его для удаленного управления загрузками через веб-интерфейс. Вот пример того, как приостановить все загрузки с помощью API My.JDownloader:
const axios = require('axios');
async function pauseAllDownloads() {
  try {
    const response = await axios.post('https://api.jdownloader.org', {
      url: 'http://localhost:10025',
      host: 'jd',
      reconnect: true,
      limit: 0,
      version: '1.0',
      method: 'pauseDownloads'
    });
    console.log(response.data);
  } catch (error) {
    console.error(error);
  }
}
pauseAllDownloads();