منفذ الـ Proxy
أرسل حركة مرورك عبر نقاط خروج FourA من أي عميل يقبل proxy URL: متصفح، أو أداة تنزيل، أو أداة كشط تشغلها بالفعل. يفتح منفذ proxy نفقا إلى الهدف الذي تحدده وينسخ البايتات في كلا الاتجاهين، مما يمكنه من نقل ما لا يدعمه JSON API: عمليات البث، والتنزيلات الكبيرة، وجلسات المتصفح الكاملة.
الاتصال
| الإعداد | القيمة |
|---|---|
| المضيف | proxy.foura.ai |
| المنفذ | 34004 |
| البروتوكول | HTTP CONNECT مع مصادقة Basic |
| المنافذ المستهدفة | 443 و 80 |
يتم الحصول على بيانات الاعتماد من لوحة التحكم. أنشئ مستخدم proxy ضمن Proxy في الشريط الجانبي وستحصل على اسم مستخدم وكلمة مرور تم إنشاؤهما. تم فصلهما عن مفتاح API الخاص بك عن قصد: تنتقل مصافحة proxy بنص صريح مع كل اتصال، ويمكن تدوير مستخدم proxy دون المساس بتكامل API الخاص بك. راجع مستخدمو Proxy.
curl -x http://USERNAME:PASSWORD@proxy.foura.ai:34004 https://example.com
import requests
proxy = "http://USERNAME:PASSWORD@proxy.foura.ai:34004"
r = requests.get("https://example.com", proxies={"https": proxy, "http": proxy})
print(r.status_code)
يتعامل المنفذ عبر CONNECT فقط. يتم تمرير هدف https:// عبر نفق بواسطة كل عميل. ويعمل هدف http:// العادي عندما يقوم عميلك بإنشاء نفق له أيضًا (curl: --proxytunnel)، بينما العميل الذي يعيد توجيه الطلب العادي إلى الـ proxy مباشرة يتلقى 405 Method Not Allowed.
الخيارات تُمرَّر ضمن اسم المستخدم
كل ما يلي بيانات الاعتماد هو قائمة من أزواج -key-value، بأي ترتيب:
USERNAME-network-premium-country-de-session-a1
القيم عبارة عن كلمات بأحرف صغيرة. تبدأ الشرطة داخل القيمة خيارا جديدا، لذا تُقرأ -city-new-york كخيارين ويتم رفضها. يتم رفض المفتاح غير المعروف أيضا ولا يتم تجاهله أبدا: مفتاح خاطئ إملائيا مثل -contry-de يعود برمز 400 يحدد المفاتيح المدعومة، بدلا من تقديم الخدمة من البلد الخطأ.
| الخيار | القيم | الوظيفة |
|---|---|---|
network |
shared (افتراضي، الاسم المستعار pool)، premium (الاسم المستعار residential) |
الشبكة التي يأتي منها العنوان. المشتركة (Shared) هي نقاط خروج خاصة بـ FourA، مشمولة في خطتك. المميزة (Premium) هي عناوين سكنية، تُسحب من رصيد premium المشمول في خطتك بالإضافة إلى أي رصيد اشتريته. |
fallback |
premium (الاسم المستعار residential)، off |
للشبكة المشتركة فقط. استخدام نقطة خروج premium عندما تعجز الشبكة المشتركة عن تلبية الطلب. معطل افتراضيا ما لم يُطلب، ولا يعمل إلا إذا كانت خطتك تتضمن رصيد premium وما يزال الرصيد متاحا. |
country |
ISO 3166-1 alpha-2، قابل للتكرار | بلد الخروج الذي يراه الهدف. كرره لتحديد نطاق يشمل دولا متعددة: -country-de-country-fr. |
session |
من 1 إلى 32 حرفا أو رقما أو شرطة سفلية | تشترك الاتصالات التي تحمل نفس الاسم في عنوان واحد (sticky). احذفه للحصول على عنوان جديد مع كل اتصال (rotating). |
state |
كلمة | المنطقة. لشبكة Premium فقط. |
city |
كلمة | المدينة. لشبكة Premium فقط. |
asn |
رقم | الشبكة، حسب رقم AS. لشبكة Premium فقط. |
os |
windows، android، ios، mac |
نوع الجهاز الذي ينتمي إليه العنوان. لشبكة Premium فقط. |
lifetime |
3 إلى 1440 |
عدد الدقائق التي يتم الاحتفاظ فيها بعنوان premium الثابت (sticky). لشبكة Premium فقط. |
يقبل كل خيار باستثناء network وfallback وsession القيمة any، والتي تمسح القيمة المحفوظة لمستخدم proxy لهذا الاتصال المحدد فقط.
يتم رفض ثلاث مجموعات برمز 400 بدلا من تنفيذها جزئيا:
- استخدام
stateأوcityأوasnأوosأوlifetimeعلى الشبكة المشتركة. يتم اختيار الشبكة المشتركة حسب الدولة ولا شيء أدق من ذلك؛ أضف-network-premiumلاستهداف مدينة. - استخدام
-fallback-premiumمع-network-premium. خيار الرجوع الاحتياطي لا يقوم بأي دور على الشبكة التي يرجع إليها. - الاستهداف الأكثر دقة مع تفعيل الرجوع الاحتياطي. قد يتم تشغيل خيار الرجوع الاحتياطي أو لا، لذا يتم رفض المدينة التي قد لا يمكن الالتزام بها دائما.
الجلسات
على الشبكة المشتركة، تحتفظ الجلسة المسماة بنفس نقطة الخروج طالما استمر استخدامها، وذلك ضمن نافذة زمنية منزلقة مدتها عشر دقائق. وإذا توقفت نقطة الخروج تلك عن العمل، تنتقل الجلسة إلى نقطة أخرى بدلا من الفشل. يجب دائما إرفاق اسم جلسة عند توجيه متصفح عبر المنفذ: فتحميل صفحة واحدة يفتح عشرات الاتصالات، وبدون جلسة يخرج كل اتصال من عنوان مختلف.
على شبكة premium، تحتفظ الجلسة المسماة بعنوانها لمدة lifetime دقيقة، أو المدة الافتراضية للشبكة إذا لم تحدد مدة.
الإعدادات الافتراضية المحفوظة
يُطبَّق الاستهداف المحفوظ على مستخدم proxy في لوحة التحكم على كل اتصال يُجرى باستخدامه، وبذلك يمكن أن يظل اسم المستخدم قصيرًا. أي قيمة تضعها في اسم المستخدم تكون لها الأولوية لذلك الاتصال الفردي، بينما يعيد any القيمة المحفوظة. يستهلك الإعداد الافتراضي المميز (premium) المحفوظ الرصيد فقط عندما تسمح خطتك بذلك، وإلا فسيتم تقديم الاتصال من الشبكة المشتركة وسيظل النفق قيد الفتح.
ترويسات CONNECT
يمكن للعميل الذي يدعم إضافة ترويسات إلى طلب CONNECT إرسال الخيارات نفسها كترويسات. تكون الأولوية للترويسة على الخيار نفسه المحدد في اسم المستخدم.
| Header | Same as |
|---|---|
X-Foura-Network |
-network- |
X-Foura-Fallback |
-fallback- (premium or off) |
X-Foura-Country |
-country-، مفصولة بفواصل لعدة قيم |
X-Foura-Session |
-session- |
X-Foura-State |
-state- |
X-Foura-City |
-city- |
X-Foura-Asn |
-asn- |
X-Foura-Lifetime |
-lifetime- |
curl -x http://USERNAME:PASSWORD@proxy.foura.ai:34004 \
--proxy-header "X-Foura-Country: de" \
https://example.com
الاستجابات
النفق الذي يُفتح يجيب بـ 200 Connection established. كل رفض يتم بعد التحقق من بيانات الاعتماد الخاصة بك يحمل ترويسة X-Foura-Error مع سبب في سطر واحد، لذا اقرأ تلك الترويسة قبل أي شيء آخر.
| الحالة | متى تحدث |
|---|---|
| 400 Bad Request | طلب غير صالح، أو خيار لا يمكن لـ FourA تلبيته. يوضح X-Foura-Error الخيار والقيم المدعومة. |
| 403 Forbidden | المنفذ المستهدف لا تتم خدمته، أو أن الهدف ليس مضيف إنترنت عام، أو أن المنفذ غير مضمن في خطتك، أو أنك حددت -network-premium ولم يتبق في خطتك أي حركة مرور مميزة أو أنها لا تتضمن الشبكة المميزة. |
| 405 Method Not Allowed | طلب عادي بدلا من CONNECT. |
| 407 Proxy Authentication Required | بيانات اعتماد مفقودة أو غير صحيحة. الإجابة لا تحدد أبدا أي جزء كان خاطئا. |
| 408 Request Timeout | اتصل العميل ولم يرسل أي شيء لمدة 15 ثانية. |
| 431 Request Header Fields Too Large | تجاوزت ترويسات طلب CONNECT سعة 16 كيلوبايت. |
| 429 Too Many Requests | تجاوز أحد أرقام خطتك: الأنفاق المفتوحة في وقت واحد، أو عمليات فتح الأنفاق في الدقيقة، أو حركة المرور القياسية لفترة الفاتورة الحالية. يحدث أيضا عندما يصل المنفذ نفسه إلى طاقته الاستيعابية أو معدل الفتح. يوضح X-Foura-Error أيا منها كان السبب. |
| 502 Bad Gateway | لم يتم العثور على مخرج يعمل لهذا الهدف ضمن حدود الاختيار، أو تعذر على أداة الحل الخاصة بـ FourA البحث عن المضيف. تظهر حالتان مختلفتان كرسالتين في X-Foura-Error. |
| 503 Service Unavailable | تم إيقاف تشغيل منفذ proxy. |
الحدود
- تأتي الأنفاق المفتوحة في وقت واحد وعمليات فتح الأنفاق في الدقيقة من خطتك، ويتم احتسابها للحساب بدلا من كل مستخدم proxy: إصدار بيانات اعتماد ثانية لا يمنحك حصة إضافية. تتوفر أرقامك في Usage & Limits.
- يستغرق العثور على مخرج ما يصل إلى 45 ثانية قبل أن يستسلم المنفذ برمز 502. الجلسة التي لديها مخرج بالفعل تتصل عادة في أقل من ثانية بكثير.
- يُغلق النفق الذي لا يمرر أي بايت في أي من الاتجاهين بعد دقيقتين من الخمول.
- عند تحديث المنفذ، تُمنح الأنفاق المفتوحة بالفعل أقل بقليل من ثلاث دقائق للانتهاء ثم يتم إغلاقها، بينما تستمر الاتصالات الجديدة في الفتح. يجب أن يعيد التنزيل الطويل أو البث الاتصال عند إغلاق النفق الخاص به.
- يتوقف مستخدم proxy الذي تعطل حسابه أو تحذفه في لوحة التحكم عن المصادقة في غضون دقيقة واحدة.
القياس
البايتات التي تمر عبر المنفذ تُحسب ضمن النطاق الترددي في صفحة Usage & Limits الخاصة بك، وتُحسب البايتات التي تمر عبر مخرج مميز ضمن حركة المرور المميزة أيضا: يتم تسجيل نفس البايتات مرتين، ولا يتم جمعهما معا أبدا. عند فتح نفق، تُحسب حركة مرور المخارج المميزة التي جربها المنفذ ولم يستخدمها كحركة مرور مميزة أيضا. محاولات الشبكة المشتركة غير المستخدمة لا تُحتسب، ولا يُحتسب أي شيء عندما لا يُفتح أي نفق.
حركة المرور القياسية التي يمكن للمنفذ استخدامها تتبع خطتك. في الخطة القائمة على الرصيد، يمتلك المنفذ غيغابايت مضمنة خاصة به، وتتيح صفحة Billing شراء المزيد منها؛ أما في الخطة القائمة على حجم المرور، فإنه يسحب من نفس الرصيد المشترك مع الـ API. عند نفاد ذلك الرصيد، يتم رفض الاتصالات الجديدة حتى تتم إعادة ضبط الفترة أو إضافة المزيد، وتوضح رسائل البريد الإلكتروني الخاصة بالاستخدام موعد ذلك.
بمجرد استهلاك الحصة المميزة، يتم التعامل مع الطرق الثلاث للوصول إلى تلك الشبكة بشكل مختلف ومقصود. يُرفض الاتصال الذي يحدد -network-premium برمز 403 يوضح ذلك، لأن المتصل الذي طلب الإنفاق وتمت خدمته بصمت من مكان آخر سيستمر في الطلب ومطابقة بند مميز لا يظهر أبدا. لا يتم اللجوء إلى خيار بديل، ويتم خفض الإعداد الافتراضي المميز المحفوظ لمستخدم الـ proxy إلى الشبكة المشتركة، والتي لا تزال تفتح النفق: لم يختر أي منهما الإنفاق على هذا الاتصال بالتحديد.
ذات صلة
- Proxy Users: إنشاء مستخدمي proxy وبناء سلسلة اتصال في لوحة التحكم
- Proxy Request: بديل JSON API، مع دعم مدمج لإعادة المحاولة والتحقق
- Reuse a Proxy Across Requests: الحفاظ على نقطة خروج واحدة عبر JSON API
- Usage & Limits: النطاق الترددي وحركة المرور المميزة مقابل خطتك