https://downf.ioBina muat turun dengan downf.io
DownF mengekalkan pelaksanaan API dilumpuhkan sehingga seorang operator menyemak kes penggunaan keserasian. Contoh-contoh menerangkan kontrak yang dirancang, manakala kelayakan sebenar dan kuota hanya tiba melalui pengaktifan sokongan.
Mulakan dengan cepat
DownF mengatur hos API sekitar kelayakan yang diaktifkan sokongan. Paparan keserasian membandingkan titik akhir penyewa yang ditetapkan. Laluan panggilan hanya pelayan kekal sebagai pemeriksaan terakhir.
X-API-Key: pending_activation_…DownfBridgev1# Available only after support activation
export DOWNF_ACCESS_TOKEN="issued-after-review"
curl -X POST https://downf.io/v1/resolve \
-H "X-API-Key: $DOWNF_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"media_address":"https://www.youtube.com/watch?v=VIDEO_ID"}'Keselamatan kelayakan bermula dengan penyimpanan rahsia sisi pelayan pada DownF. Pandangan keserasian ini kemudian tidak memaparkan sebarang pembungkusan klien yang disematkan. Fakta terakhir ialah tiada log awam atau repositori.
Menyelesaikan pautan
DownF mengatur operasi Resolve sekitar pengesanan sumber. Pandangan keserasiannya membandingkan format dari satu URL yang dikemukakan. Tiada output yang dicipta tetap menjadi pemeriksaan terakhir.
/v1/resolveSkop: menyelesaikan| Medan | Jenis | Diperlukan | Huraian |
|---|---|---|---|
media_address | URL HTTPS | Ya | Halaman media awam atau yang dibenarkan untuk dianalisis. |
tenant | rentetan | Tidak | Domain penyewa yang ditugaskan. Biasanya ditinggalkan. |
{
"success": true,
"platform": "youtube",
"title": "Example video",
"formats": [
{"id":"18","type":"video","quality":"360p","container":"mp4"}
],
"cached": false
}Pengenal format bermula dengan nilai yang dikembalikan tanpa perubahan pada DownF. Paparan keserasian ini kemudian memaparkan ketersediaan setiap pautan. Fakta terakhir ialah tiada label kualiti yang dianggarkan.
Cipta dan ikuti kerja muat turun
Penciptaan pekerjaan bermula dengan persediaan asynchronous pada DownF. Pandangan seterusnya meliputi permintaan HTTP pendek. Halaman menyimpan pelaksanaan pekerja yang dibatasi kelihatan.
/v1/jobsSkop: pekerjaan| Medan | Jenis | Diperlukan | Huraian |
|---|---|---|---|
media_address | URL HTTPS | Ya | Sumber yang sama dinormalisasi dihantar untuk menyelesaikan. |
output_ref | rentetan | Ya | ID yang tepat dari respons penyelesaian. |
tenant | rentetan | Tidak | Domain penyewa yang ditugaskan. Biasanya ditinggalkan. |
curl -X POST https://downf.io/v1/jobs \
-H "X-API-Key: $DOWNF_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"media_address":"https://www.youtube.com/watch?v=VIDEO_ID","output_ref":"18"}'transfer_ref.GET /v1/jobs/{transfer_ref} dengan kunci yang sama.| Status | Makna | Tindakan Pelanggan |
|---|---|---|
queued | Dibenarkan masuk ke barisan yang dibatasi. | Poll lagi dengan backoff. |
extracting | Menyegar semula metadata sumber atau laluan. | Teruskan mengundi. |
processing | Memuat turun, remuxing atau menggabungkan. | Papar kemajuan pelayan. |
ready | Muat turun yang ditandatangani tersedia. | Hantar URL kepada pengguna. |
failed | Ralat berstruktur terminal. | Baca error_code. Cuba semula hanya apabila dinasihatkan. |
expired | Keluaran sementara dikeluarkan. | Cipta pekerjaan baru. |
curl https://downf.io/v1/jobs/TRANSFER_REF \
-H "X-API-Key: $DOWNF_ACCESS_TOKEN"Pandangan keserasian DownF mengkaji semula menunggu awal satu saat untuk polling Job. Ia menunjukkan backoff capped seterusnya dan tidak menutupi penghantaran sementara yang ditandatangani.
Kesalahan yang boleh diramalkan
DownF membentangkan tiga perkara praktikal untuk kontrak Ralat. Pertama datang satu sampul bukan 2xx. Pandangan keserasian kemudian merangkumi ID permintaan sokongan. Titik akhirnya adalah pengendalian klien yang boleh diramalkan.
{
"success": false,
"error": {
"code": "RATE_LIMITED",
"category": "rate_limited",
"message": "Too many requests. Please try again shortly.",
"retryable": true,
"details": {"retry_after_seconds": 20}
},
"request_id": "…"
}| HTTP | Makna biasa | Tindakan |
|---|---|---|
| 400 | URL tidak sah, badan atau format tidak tersedia. | Betulkan permintaan. Selesaikan lagi untuk format. |
| 401 | Kunci hilang, tidak sah, tamat tempoh atau salah skop. | Semak kelayakan sisi pelayan. |
| 403 | Polisi penyewa atau sumber menolak permintaan. | Jangan mengelirukan dasar Hubungi sokongan. |
| 404 | Kerja yang tidak diketahui atau tamat tempoh. | Buat kerja baru jika sesuai. |
| 429 | Permintaan atau had aktif-kerja telah dicapai. | Kehormatan retry_after_seconds. |
| 503 | Baris gilir/kapasiti atau upstream tidak tersedia buat sementara waktu. | Cuba lagi dengan backoff eksponen dan jitter. |
Kontrak operasi
DownF menugaskan siling permintaan selepas mengkaji semula pelanggan yang dimaksudkan, menjaga pemeriksaan keserasian dan pembekal huluannya stabil.
- Gunakan logik aplikasi idempotent dan jangan pernah memulakan kerja berganda untuk klik pengguna yang sama.
- Cache menyelesaikan metadata secara ringkas, tetapi sentiasa merawat URL muat turun yang ditandatangani sebagai tamat tempoh.
- Gunakan backoff eksponen yang dibatasi dengan jitter untuk
429,503dan kesilapan yang boleh dicuba semula. - Proses hanya media awam atau media yang anda dibenarkan untuk mengakses. DRM dan kawalan akses tidak dipintas.
- Simpan ID permintaan dan ID kerja dalam log operasi peribadi. Jangan log URL yang dihantar tanpa perlu.
DownF mengatur akses Skema sekitar pengaktifan sebelum penerokaan. Paparan keserasian membandingkan pengesahan yang ditetapkan. Bentuk permintaan yang didokumentasikan kekal sebagai pemeriksaan akhir.
Aktifkan melalui sokongan
Huraikan produk, ramalkan panggilan bulanannya dan senaraikan platform yang mesti dianalisis. Sokongan DownF akan mengesahkan skop yang diperlukan sebelum mengeluarkan kelayakan yang boleh dilihat sekali sahaja yang salinan tersimpan hanyalah hash.
Minta pengaktifan Kunci adalah skop penyewa, boleh dibatalkan dan dikeluarkan melalui borang Hubungi. Skrip tanpa nama tidak dapat melaksanakan kerja pemuat turun.