Downloader.org API Documentation
Para sa buong detalye ng pagpepresyo ng API mag-click dito .
Ang Downloader.org API ay naka-host sa downloader.org
at nagbibigay sa mga developer ng simple at maaasahang mga tool para sa pagsasama ng aming mga serbisyo ng downloader sa anumang application.
Authentication
Upang ma-access ang Downloader.org API, dapat mong isama ang iyong natatanging API key. Maaari kang makakuha ng API key sa pamamagitan ng pagrehistro gamit ang iyong email address. Panatilihing secure ang iyong API key at huwag itong ibahagi sa publiko.
Ang lahat ng mga kahilingan ay nangangailangan ng Authorization
header na may iyong API key sa format na: YOUR_API_KEY
, kung saan YOUR_API_KEY
ay available mula sa iyong Downloader.org account page.
Para sa seguridad, dapat ipadala ang lahat ng kahilingan sa API sa pamamagitan ng HTTPS upang matiyak na naka-encrypt at ligtas na paghahatid ng iyong data.
Mag-download ng anumang URL ng media
Sa Downloader.org API maaari kang mag-extract at mag-download ng content mula sa maraming source. Ginagawa nitong madali ang pagsasama ng isang malakas na media downloader sa sarili mong mga proyekto.
Halimbawa ng kahilingan:
Palitan YOUR_API_KEY
ng iyong natatanging API key (available sa iyong Downloader.org account) at palitan URL
ng media resource na gusto mong i-download.
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"