In this Article
مكتبة requests في Python هي أبسط طريقة لإجراء استدعاءات HTTP، وإضافة بروكسي لا تتطلب سوى وسيط واحد. سواء كنت تجرف الويب، أو تختبر محتوى مقيّدا جغرافيا، أو تبني عميلا لـ API يحتاج إلى الظهور كمستخدم حقيقي، فإنك تمرر الطلبات عبر بروكسي باستخدام الوسيط proxies=. يوضح هذا الدليل بالتفصيل كيفية استخدام بروكسي مع requests في Python (HTTP وHTTPS والمصادقة وSOCKS5 والجلسات ومتغيرات البيئة والتدوير)، ثم يرتب أفضل 8 بروكسيات لـ requests في Python لعام 2026. يمثل DataImpulse بسعر $1/GB معيار القيمة.
أنا Andrii Byzov، مدير تسويق جزئي يعتمد على الذكاء الاصطناعي، وأكتب أدوات تجريف Python يوميا. ستجد أدناه مقتطفات جاهزة للنسخ واللصق، وطريقة تثبيت SOCKS5 مع مشكلة تسرب DNS المحتملة، ومقدمي الخدمة الذين يستحقون ميزانيتك.
حقائق أساسية
- مرر قاموس
proxiesبمفاتيحhttpوhttps:requests.get(url, proxies={"http": "...", "https": "..."}). - توضع بيانات الاعتماد داخل URL البروكسي –
http://user:pass@host:port– ولا تحتاج إلى خطوة مصادقة منفصلة. - استخدم
Sessionلضبط البروكسي مرة واحدة وإعادة استخدامه، مع تجميع الاتصالات، عبر طلبات عديدة. - يتطلب SOCKS5 تثبيتا واحدا:
pip install "requests[socks]"، ثم استخدمsocks5h://(الحرف h) لكي يحل DNS عبر البروكسي فلا يتسرب موقعك الحقيقي. - DataImpulse هو خيار القيمة – سكني بسعر $1/GB بالدفع حسب الاستخدام، ومركز بيانات بسعر $0.50/GB، ومحمول بسعر $2/GB، وأكثر من 90M عنوان IP في 195 دولة، مع HTTP/HTTPS/SOCKS5 واستهداف الدولة/المدينة/ASN.
كيفية استخدام بروكسي مع requests في Python
1. بروكسي HTTP/HTTPS أساسي مع مصادقة
import requests
proxies = {
"http": "http://YOUR_LOGIN__cr.us:[email protected]:823",
"https": "http://YOUR_LOGIN__cr.us:[email protected]:823", # __cr.us = US
}
r = requests.get("https://httpbin.org/ip", proxies=proxies, timeout=30)
print(r.json()) # confirm the egress IP
يشير المفتاحان إلى البروكسي نفسه، وتستخدم بيانات الاعتماد في URL تلقائيا. اضبط timeout دائما. إذا كانت كلمة مرورك تحتوي على رموز خاصة (@ : # /)، فشفّرها وفق URL باستخدام urllib.parse.quote() أولا.
2. جلسة Session، لضبط البروكسي مرة وإعادة استخدامه
session = requests.Session()
session.proxies = proxies
session.get("https://example.com/page1")
session.get("https://example.com/page2") # same proxy, pooled connections
3. SOCKS5، تثبيت لمرة واحدة وتجنب تسرب DNS
# pip install "requests[socks]"
proxies = {
"http": "socks5h://YOUR_LOGIN__cr.us:[email protected]:824",
"https": "socks5h://YOUR_LOGIN__cr.us:[email protected]:824",
}
requests.get("https://httpbin.org/ip", proxies=proxies, timeout=30)
استخدم socks5h (بالحرف h) ليجري حل أسماء المضيفين من جهة البروكسي؛ أما socks5 العادي فيحلها محليا وقد يكشف موقعك الحقيقي. يتيح DataImpulse بروتوكول SOCKS5 على المنفذ 824.
4. متغيرات البيئة والتدوير
# env vars (requests honors these automatically):
# export HTTPS_PROXY="http://YOUR_LOGIN__cr.us:[email protected]:823"
# rotation: with a rotating gateway each request already gets a fresh IP
for _ in range(5):
print(requests.get("https://httpbin.org/ip", proxies=proxies, timeout=30).json())
مع بوابة DataImpulse السكنية الدوارة، يخرج كل طلب من عنوان IP جديد تلقائيا، ولا توجد قائمة بروكسيات لإدارتها. لتدوير قائمة ثابتة بنفسك، استخدم random.choice() لاختيار بروكسي لكل طلب.
أفضل بروكسيات لـ requests في Python بنظرة سريعة
| المزود | الأفضل لطلبات requests | سعر السكني | البروتوكولات | مزايا بارزة |
|---|---|---|---|---|
| DataImpulse | أفضل قيمة، للبرامج النصية وتجريف الويب | $1/GB بالدفع حسب الاستخدام | HTTP/HTTPS/SOCKS5 | مجمع 90M+، SOCKS5 بمصادقة، دون انتهاء |
| Bright Data | للمؤسسات مع إدارة | ~$4/GB ترويجي؛ $8 عادي | HTTP/HTTPS/SOCKS5 | Web Unlocker، وSERP API، ومجموعات بيانات |
| Oxylabs | اتفاقية مستوى خدمة للمؤسسات | من $6/GB | HTTP/HTTPS/SOCKS5 | مجمع 175M+، وAPI للتجريف |
| Decodo | السوق المتوسطة، تغطية جغرافية كاملة | $3.75/GB (~$2 عند 1TB+) | HTTP/HTTPS/SOCKS5 | مجمع 115M+، وثبات حتى 24h |
| IPRoyal | جلسات ثابتة طويلة | من $7.35/GB | HTTP/HTTPS/SOCKS5 | ثبات حتى 7 أيام؛ دفع حسب الاستخدام منخفض التكلفة |
| SOAX | مزيج سكني ومحمول | $3.60/GB للمبتدئين | HTTP/HTTPS/SOCKS5 | 155M+ سكني، و33M+ محمول |
| Webshare | ميزانية أو خدمة ذاتية | من $3.50/mo سكني؛ $2.99/mo مركز بيانات | HTTP/SOCKS5 | فئة مجانية، وأرخص مركز بيانات |
| NetNut | استقرار سكني من ISP | من $3.53/GB | HTTP/HTTPS | عناوين IP ثابتة من ISP للمستهلكين |

الخيارات باختصار
يمثل DataImpulse معيار القيمة لأعمال requests في Python – سكني بسعر $1/GB بالدفع حسب الاستخدام، ومركز بيانات بسعر $0.50/GB، ومحمول بسعر $2/GB، وأكثر من 90M عنوان IP في 195 دولة، مع HTTP/HTTPS وSOCKS5 بمصادقة واستهداف الدولة/المدينة/ASN في اسم المستخدم. لا تنتهي صلاحية حركة المرور، لذلك لا تستنزف عمليات التطوير اشتراكا. معدل النجاح المنشور 99.51%؛ وتقييم G2 هو 4.8/5؛ ودعم بشري على مدار 24/7. لتجريف الويب كبير الحجم باستخدام requests، فهو الأقل تكلفة لكل طلب ناجح.
يعد Bright Data خيار المؤسسات، بسعر سكني عادي يقارب $8/GB وعرض ترويجي يقارب $4، مع Web Unlocker وSERP API ومجموعات بيانات. يعد Oxylabs، من $6/GB ومجمع 175M+، خيارا بمستوى SLA. ويعد Decodo، من $3.75/GB وثبات حتى 24h، خيارا متوازنا للسوق المتوسطة. يناسب IPRoyal، من $7.35/GB وثبات حتى 7 أيام، البرامج النصية الطويلة ذات الجلسات المستقرة. يضيف SOAX، بسعر $3.60/GB و155M+ سكني مع 33M+ محمول، مجمعا قويا للمحمول. ويعد Webshare، بفئة مجانية ومركز بيانات من $2.99/mo، مدخلا اقتصاديا للخدمة الذاتية، بينما يعد NetNut، من $3.53/GB، خيار استقرار السكني من ISP. تعمل جميعها مع الوسيط proxies=.
أخطاء شائعة في بروكسيات requests في Python
- استخدام
socks5://بدلا منsocks5h://– يحلsocks5العادي DNS محليا وقد يسرّب موقعك الحقيقي؛ استخدمsocks5h. - نسيان
pip install "requests[socks]"– بدونه، يطلق URL بروكسيsocks5خطأ “Missing dependencies for SOCKS support”. - عدم تحديد
timeout. يمكن لبروكسي معطل أن يعلق الطلب إلى الأبد؛ مررtimeout=دائما. - استخدام
verify=Falseلإصلاح أخطاء SSL – يخفي ذلك مخاطر الرجل في الوسط؛ أصلح السبب الحقيقي. - عناوين IP لمركز البيانات مع الأهداف المحمية – يجري حظرها بسرعة؛ استخدم السكني للمواقع المكثفة لمكافحة الروبوتات، وأقرنها بترويسات واقعية (User-Agent).
البروكسيات الدوارة مقابل الثابتة مع requests
لتجريف واسع النطاق، تعد البوابة السكنية الدوارة مثالية – يحصل كل طلب على عنوان IP جديد، لذلك توزع حلقة بسيطة التجريف على المجمع من دون إدارة لعناوين IP. أما للتدفقات ذات الحالة، مثل تسجيل الدخول ثم استدعاءات المتابعة، فاستخدم Session مع بروكسي ثابت كي يستمر عنوان IP نفسه وملفات تعريف الارتباط عبر التسلسل. معظم البرامج النصية لـ requests عديمة الحالة، لذا فالتدوير هو الإعداد الافتراضي الشائع.
أي نوع بروكسي لـ requests في Python: سكني أم مركز بيانات أم محمول؟
- السكني ($1/GB) – الإعداد الافتراضي للأهداف المحمية، مثل التجارة الإلكترونية وSERPs والشبكات الاجتماعية. إذا اخترت نوعا واحدا، فاختره.
- المحمول ($2/GB) – عناوين IP حقيقية لشبكات الاتصالات للأهداف الأصعب وواجهات الويب المحمولة.
- مركز البيانات ($0.50/GB) – الأرخص والأسرع للأعمال غير المحمية وAPI وبنيتك التحتية؛ لا توجهه إلى المواقع المكثفة لمكافحة الروبوتات.
يوفر DataImpulse الأنواع الثلاثة في حساب واحد بالدفع حسب الاستخدام، لذا يمكن لبرنامج نصي واحد توجيه كل طلب إلى الفئة المناسبة عبر اسم المستخدم ونقطة النهاية.
كيفية البدء باستخدام DataImpulse وrequests في Python
الخطوة 1. أنشئ حساب DataImpulse واحصل على بيانات اعتماد السكني. لا تنتهي صلاحية العرض التمهيدي $5 / 5GB – إنها ميزانية اختبار حقيقية.
الخطوة 2. أنشئ قاموس proxies باستخدام http://YOUR_LOGIN__cr.us:[email protected]:823، ومرره إلى requests.get(..., proxies=proxies, timeout=30)، وألحق رمز الدولة باسم المستخدم للاستهداف الجغرافي. استخدم socks5h://...:824 بعد pip install "requests[socks]" من أجل SOCKS5.
الخطوة 3. استخدم Session للعديد من الاستدعاءات، وحلقة للتدوير، وأضف ترويسات واقعية. راجع دروس DataImpulse وصفحة البروكسيات السكنية.
الأسئلة الشائعة
كيف أستخدم بروكسي مع requests في Python؟
مرر قاموس proxies إلى استدعائك: requests.get(url, proxies={"http": "http://user:pass@host:port", "https": "http://user:pass@host:port"}). تستخدم بيانات الاعتماد في URL تلقائيا. بالنسبة إلى DataImpulse: http://YOUR_LOGIN__cr.us:[email protected]:823. استخدم Session لإعادة استخدام البروكسي عبر الطلبات.
هل تدعم requests في Python بروكسيات SOCKS5؟
نعم، بعد تثبيت الإضافة: pip install "requests[socks]". ثم استخدم URL من نوع socks5h://user:pass@host:port في قاموس proxies، ويعمل SOCKS5 مع المصادقة. استخدم socks5h دائما، مع الحرف h، لكي يحل DNS عبر البروكسي؛ أما socks5 العادي فيحل محليا وقد يسرّب موقعك. يتيح DataImpulse بروتوكول SOCKS5 على المنفذ 824.
ما أفضل بروكسي لـ requests في Python؟
البروكسيات السكنية للأهداف المحمية – يمثل DataImpulse بسعر $1/GB خيار القيمة، مع HTTP/HTTPS/SOCKS5 وأكثر من 90M عنوان IP وSOCKS5 بمصادقة وحركة مرور بلا انتهاء. يعد Bright Data وOxylabs خياري المؤسسات؛ وWebshare الأرخص للبدء. تعمل جميعها مع الوسيط proxies=؛ وأقرنها بترويسات واقعية وtimeout.
كيف أدوّر البروكسيات في requests في Python؟
الأسهل: وجّه قاموس proxies إلى بوابة سكنية دوارة من DataImpulse، فيحصل كل طلب على عنوان IP جديد تلقائيا. لتدوير قائمة ثابتة، احتفظ بقائمة من URL البروكسيات واختر واحدا لكل طلب بواسطة random.choice()، أو مر عليها بالتتابع. للتدفقات ذات الحالة، احتفظ ببروكسي ثابت واحد داخل Session بدلا من التدوير.
لماذا يطلق بروكسي requests لدي الخطأ “Missing dependencies for SOCKS support”؟
استخدمت URL بروكسي socks5 من دون تثبيت إضافة SOCKS. شغّل pip install "requests[socks]"، فهي تثبت PySocks، ثم يعمل URL socks5h://. لا تحتاج بروكسيات HTTP/HTTPS إلى تثبيت إضافي.
كم تبلغ تكلفة بروكسيات requests في Python؟
يسعّر السكني الخام لكل GB – DataImpulse بسعر $1/GB، وهو حد القيمة الأدنى، وNetNut من $3.53، وSOAX بسعر $3.60، وDecodo بسعر $3.75، وOxylabs من $6، وIPRoyal بسعر $7.35؛ ويوفر Webshare اشتراكات اقتصادية من $3.50/mo. الصفحة التي يجري جلبها لا تمثل إلا جزءا صغيرا من GB، لذا فإن السكني بسعر كل GB أرخص كثيرا من API المدارة بسعر كل سجل عند تجريف الويب كبير الحجم؛ تناسب الخيارات المدارة الأهداف الأصعب.
