وثائق واجهة برمجة التطبيقات Downloader.org
للحصول على تفاصيل كاملة حول أسعار واجهة برمجة التطبيقات انقر هنا .
يتم استضافة واجهة برمجة التطبيقات Downloader.org على downloader.org
وتوفر للمطورين أدوات بسيطة وموثوقة لدمج خدمات التنزيل الخاصة بنا في أي تطبيق.
المصادقة
للوصول إلى واجهة برمجة تطبيقات Downloader.org، يجب عليك تضمين مفتاح API الخاص بك. يمكنك الحصول على مفتاح API بالتسجيل باستخدام بريدك الإلكتروني. حافظ على سرية مفتاح API الخاص بك ولا تشاركه مع أي جهة خارجية.
تتطلب جميع الطلبات رأس Authorization
مع مفتاح API الخاص بك بالتنسيق: YOUR_API_KEY
، حيث يتوفر YOUR_API_KEY
من صفحة حساب Downloader.org الخاص بك.
لأسباب أمنية، يجب إرسال جميع طلبات واجهة برمجة التطبيقات عبر HTTPS لضمان نقل بياناتك بشكل مشفر وآمن.
تنزيل أي رابط للوسائط
باستخدام واجهة برمجة تطبيقات Downloader.org، يمكنك استخراج وتنزيل المحتوى من مصادر متعددة. هذا يُسهّل دمج أداة تنزيل وسائط فعّالة في مشاريعك الخاصة.
مثال على الطلب:
استبدل YOUR_API_KEY
بمفتاح API الفريد الخاص بك (المتوفر في حساب Downloader.org الخاص بك) واستبدل URL
بمورد الوسائط الذي تريد تنزيله.
from time import sleep
import requests
headers = {"Authorization": "API_KEY"}
r = requests.post(
url="https://downloader.org/api/v1/submit/",
headers=headers,
data={
"url": "URL"
}
)
if r.status_code == 200:
response = r.json()
uuid = response.get("uuid")
results = None
while not results:
r = requests.post(
url="https://downloader.org/api/v1/results/",
headers=headers,
data={
"uuid": uuid
}
)
if r.status_code == 200:
response = r.json()
if response.get("loading"):
print("processing ...")
sleep(5)
continue
results = response.get("results")
print("Download links")
print(results)
break
else:
print("Error getting result:")
print(f"Status code: {r.status_code}")
print(f"Response: {r.text}")
break
else:
print("Error submitting your URL:")
print(f"Status code: {r.status_code}")
print(f"Response: {r.text}")
const axios = require('axios');
const sleep = ms => new Promise(resolve => setTimeout(resolve, ms));
async function submitAndFetchResults() {
const headers = {
"Authorization": "API_KEY",
"Content-Type": "application/x-www-form-urlencoded"
};
try {
// Submit URL
const submitResponse = await axios.post(
'https://downloader.org/api/v1/submit/',
new URLSearchParams({
url: "URL"
}),
{ headers }
);
if (submitResponse.status === 200) {
const uuid = submitResponse.data.uuid;
let results = null;
while (!results) {
const resultResponse = await axios.post(
'https://downloader.org/api/v1/results/',
new URLSearchParams({
uuid: uuid
}),
{ headers }
);
if (resultResponse.status === 200) {
if (resultResponse.data.loading) {
console.log('processing ...');
await sleep(5000);
continue;
}
results = resultResponse.data.results;
console.log('Download links');
console.log(results);
break;
} else {
console.log('Error getting result:');
console.log(`Status code: ${resultResponse.status}`);
console.log(`Response: ${resultResponse.data}`);
break;
}
}
} else {
console.log('Error submitting your URL:');
console.log(`Status code: ${submitResponse.status}`);
console.log(`Response: ${submitResponse.data}`);
}
} catch (error) {
if (error.response) {
console.error('Error response from server:');
console.error(`Status code: ${error.response.status}`);
console.error(error.response.data);
} else {
console.error('An error occurred:', error.message);
}
}
}
submitAndFetchResults();
<?php
function sleep_ms($milliseconds) {
usleep($milliseconds * 1000); // usleep usa microsegundos
}
function postRequest($url, $headers, $data) {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
$response = curl_exec($ch);
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
return [$statusCode, $response];
}
// Setup
$apiKey = "API_KEY";
$headers = [
"Authorization: $apiKey",
"Content-Type: application/x-www-form-urlencoded"
];
// Submit URL
list($statusCode, $responseBody) = postRequest(
"https://downloader.org/api/v1/submit/",
$headers,
["url" => "URL"]
);
if ($statusCode === 200) {
$response = json_decode($responseBody, true);
$uuid = $response['uuid'] ?? null;
$results = null;
while (!$results) {
list($resultStatusCode, $resultBody) = postRequest(
"https://downloader.org/api/v1/results/",
$headers,
["uuid" => $uuid]
);
if ($resultStatusCode === 200) {
$resultData = json_decode($resultBody, true);
if (!empty($resultData['loading'])) {
echo "processing ...\n";
sleep_ms(5000); // 5 segundos
continue;
}
$results = $resultData['results'] ?? null;
echo "Download links:\n";
print_r($results);
break;
} else {
echo "Error getting result:\n";
echo "Status code: $resultStatusCode\n";
echo "Response: $resultBody\n";
break;
}
}
} else {
echo "Error submitting your URL:\n";
echo "Status code: $statusCode\n";
echo "Response: $responseBody\n";
}
?>
// Submit URL
// You will get the response UUID
curl -X POST "https://downloader.org/api/v1/submit/" \
-H "Authorization: API_KEY" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "url=URL"
// Fetch results
curl -X POST "https://downloader.org/api/v1/results/" \
-H "Authorization: API_KEY" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "uuid=UUID"