https://downf.ioساخت دانلود ها با downf.io
DownF اجرای API را تا زمانی که یک اپراتور مورد استفاده سازگاری را بررسی کند ، غیرفعال نگه می دارد. مثال ها قرارداد برنامه ریزی شده را توصیف می کنند ، در حالی که مدارک و سهمیه های واقعی فقط از طریق فعال سازی پشتیبانی می رسند.
شروع سریع
DownF میزبان API را در اطراف مدارک شناسایی فعال شده توسط پشتیبانی سازماندهی می کند.نمایش سازگاری آن یک نقطه پایانی مستاجر اختصاص داده شده را مقایسه می کند.یک مسیر تماس فقط سرور چک نهایی باقی می ماند.
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"}'ایمنی اعتبارنامه با ذخیرهسازی مخفی سمت سرور در DownF آغاز میشود. این نمای سازگاری سپس هیچ بستهبندی کلاینتی را در بر ندارد. واقعیت نهایی این است که هیچ لاگ یا مخزن عمومی وجود ندارد.
حل یک پیوند
DownF عملیات Resolve را در اطراف تشخیص منبع سازماندهی می کند. نمای سازگاری آن فرمت ها را از یک URL ارسال شده مقایسه می کند. هیچ خروجی اختراع شده ای چک نهایی باقی نمی ماند.
/v1/resolveدامنه: حل| فیلد | نوع | لازم است | شرح |
|---|---|---|---|
media_address | نشانی وب HTTPS | بله | صفحه رسانه های عمومی یا مجاز برای تجزیه و تحلیل. |
tenant | رشته | نه | دامنه مستاجر اختصاص داده شده.معمولا حذف می شود. |
{
"success": true,
"platform": "youtube",
"title": "Example video",
"formats": [
{"id":"18","type":"video","quality":"360p","container":"mp4"}
],
"cached": false
}شناسه فرمت با مقدار بازگشتی بدون تغییر روی DownF آغاز می شود. این نمای سازگاری سپس در دسترس بودن بر اساس پیوند را ارائه می دهد. حقیقت نهایی هیچ برچسب کیفیت حدس زده شده ای نیست.
ایجاد و پیگیری یک کار دانلود
ایجاد شغل با آماده سازی غیرهمزمان در DownF شروع می شود.نمای بعدی یک درخواست HTTP کوتاه را پوشش می دهد.صفحه اجرای کارگر محدود را قابل مشاهده نگه می دارد.
/v1/jobsحوزه: مشاغل| فیلد | نوع | لازم است | شرح |
|---|---|---|---|
media_address | نشانی وب HTTPS | بله | همان منبع نرمال شده ارائه شده برای حل. |
output_ref | رشته | بله | یک شناسه دقیق از پاسخ حل. |
tenant | رشته | نه | دامنه مستاجر اختصاص داده شده.معمولا حذف می شود. |
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} با همان کلید| وضعیت | معنی | عمل مشتری |
|---|---|---|
queued | پذیرفته شده در صف محدود شده | دوباره با عقب نشینی نظرسنجی کنید. |
extracting | بازسازی متادیتا یا مسیر منبع | به نظر سنجی ادامه دهید. |
processing | دانلود کردن، ریماکس کردن یا ادغام کردن | نمایش پیشرفت سرور |
ready | دانلود امضا شده در دسترس است. | آدرس را برای کاربر ارسال کنید. |
failed | خطای ساختاری ترمینال | خوانده شده error_code.فقط در صورت توصیه دوباره سعی کنید |
expired | خروجی موقت حذف شد. | ایجاد یک شغل جدید |
curl https://downf.io/v1/jobs/TRANSFER_REF \
-H "X-API-Key: $DOWNF_ACCESS_TOKEN"دیدگاه سازگاری DownF یک ثانیه انتظار اولیه را برای رأی گیری Job بررسی می کند.این نشان می دهد capped backoff بعدی و مخفی نمی کند تحویل موقت امضا شده.
خطاهای قابل پیش بینی
DownF سه نکته عملی برای قرارداد خطا ارائه میدهد. ابتدا یک پاکت غیر 2xx میآید. نمای سازگاری سپس یک شناسه درخواست پشتیبانی را پوشش میدهد. نکته نهایی آن، مدیریت پیشبینیشده مشتری است.
{
"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": "…"
}| انتقال ابرمتن | معنی معمول | کنش |
|---|---|---|
| 400 | URL نامعتبر، بدنه یا فرمت در دسترس نیست. | درخواست را اصلاح کنید.برای فرمت ها دوباره حل کنید. |
| 401 | کلید گمشده، نامعتبر، منقضی شده یا با دامنه اشتباه. | اعتبار جانبی سرور را بررسی کنید. |
| 403 | مستاجر یا منبع سیاست درخواست را رد کرد. | از سیاست دور نشوید با پشتیبانی تماس بگیرید |
| 404 | شغل نامعلوم یا منقضی شده | در صورت لزوم یک شغل جدید ایجاد کنید. |
| 429 | درخواست یا حد فعال-کار رسیده است. | افتخار retry_after_seconds. |
| 503 | صف / ظرفیت یا بالادست به طور موقت در دسترس نیست. | دوباره با عقب نشینی نمایی و جیتر سعی کنید. |
قرارداد عملیاتی
DownF پس از بررسی مشتری مورد نظر، سقف درخواست را اختصاص می دهد، بررسی های سازگاری خود را حفظ می کند و ارائه دهندگان بالادستی را پایدار می کند.
- از منطق برنامه idempotent استفاده کنید و هرگز کارهای تکراری را برای همان کلیک کاربر شروع نکنید.
- حافظه نهان به طور خلاصه فراداده را حل می کند، اما همیشه با URL های دانلود امضا شده به عنوان انقضا رفتار می کند.
- استفاده از پسانداز نمایی محدود شده با جیتر برای
429,503و خطاهای قابل بازنگری - فقط رسانه های عمومی یا رسانه هایی را که مجاز به دسترسی به آنها هستید پردازش کنید. DRM و کنترل های دسترسی دور زده نمی شوند.
- شناسه های درخواست و شناسه های کار را در لاگ های عملیاتی خصوصی نگه دارید. URL های ارسال شده را بدون نیاز به آن لاگ نکنید.
DownF دسترسی Schema را در اطراف فعال سازی قبل از کاوش سازماندهی می کند.نمایش سازگاری آن، احراز هویت اختصاص داده شده را مقایسه می کند.شکل های درخواست مستند شده، چک نهایی باقی می ماند.
فعال سازی از طریق پشتیبانی
محصول را توصیف کنید، تماسهای ماهانه پیشبینیشده را ارائه دهید و پلتفرمهایی را که باید تحلیل کند فهرست کنید. پشتیبانی DownF دامنههای مورد نیاز را قبل از صدور یک اعتبارنامه یکبار مصرف قابل مشاهده که نسخه ذخیرهشده آن فقط یک هش است، تأیید خواهد کرد.
درخواست فعال سازی کلیدها محدوده مستاجر، قابل لغو و از طریق فرم تماس صادر می شوند.اسکریپت های ناشناس نمی توانند کار دانلودر را اجرا کنند.