“jdownloader2” – популярный инструмент управления загрузкой, который позволяет пользователям эффективно загружать файлы из различных источников. Хотя он в первую очередь ориентирован на немецкоязычный рынок, у него есть английская версия, и он широко используется во всем мире. Вот несколько методов, а также примеры кода для программного взаимодействия с JDownloader 2:
- 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();
}
}
}
- Интерфейс командной строки JDownloader 2 (CLI):
JDownloader 2 предоставляет интерфейс командной строки, который позволяет управлять приложением с терминала или выполнять команды программным способом. Вот пример запуска JDownloader 2 из командной строки:
java -jar JDownloader.jar
- Удаленное управление 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();