Ҳуҷҷатҳои API Downloader
Барои тафсилоти пурраи нархгузории API ин ҷо клик кунед .
API-и Downloader дар downloader.org ҷойгир аст ва ба таҳиягарон асбобҳои содда ва боэътимодро барои ҳамгироӣ кардани хидматҳои зеркашии мо ба ҳама гуна барномаҳо пешкаш мекунад.
Аутентификатсия
Барои дастрасӣ ба API Downloader, шумо бояд калиди ягонаи API-и худро дохил кунед. Шумо метавонед калиди API-ро тавассути сабти ном бо суроғаи почтаи электронии худ дастрас кунед. Калиди API-и худро бехатар нигоҳ доред ва ҳеҷ гоҳ онро ба таври оммавӣ мубодила накунед.
Ҳама дархостҳо сарлавҳаи Authorization бо калиди API-и шумо дар формати: YOUR_API_KEY талаб мекунанд, ки YOUR_API_KEY аз саҳифаи ҳисоби Downloader дастрас аст.
Барои бехатарӣ, ҳама дархостҳои API бояд тавассути HTTPS фиристода шаванд, то интиқоли рамзгузоришуда ва бехатари маълумоти шумо таъмин карда шаванд.
Ҳама гуна URL-и медиаро зеркашӣ кунед
Бо API Downloader шумо метавонед мундариҷаро аз сарчашмаҳои гуногун истихроҷ ва зеркашӣ кунед. Ин ҳамгиро кардани як зеркашии пуриқтидори медиаро ба лоиҳаҳои шахсии худ осон мекунад.
Намунаи дархост:
YOUR_API_KEY бо калиди беназири API-и худ иваз кунед (дар ҳисоби Downloader-и шумо мавҷуд аст) ва 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"
Моро дар BlueSky пайгирӣ кунед