Python Requests میں پروکسی کیسے استعمال کریں (HTTP/HTTPS اور سیشن پولنگ)
Updated:
Python کی requests لائبریری ایک proxies ڈکشنری کے ذریعے تصدیق شدہ VinaProxy پروکسیز قبول کرتی ہے جو 'http' اور 'https' دونوں اسکیموں کو http://user:pass@ip:port سے میپ کرتی ہے۔ اس ڈکشنری کو مستقل requests.Session() کے ساتھ منسلک کرنے سے تیز رفتار اور کم اوور ہیڈ والی ویب اسکریپنگ کے لیے بنیادی TCP ساکٹس دوبارہ استعمال ہوتے ہیں۔
proxies = {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}- 1 IP₫40,000
- 5+ IPs₫35,000
- 10+ IPs₫25,000
- 20+ IPs₫25,000
- 50+ IPs₫25,000
- 100+ IPs₫25,000
- 200+ IPs₫25,000
- 500+ IPs₫25,000
- 1000+ IPs₫22,000
- 2000+ IPs₫20,000
- 1 IP₫40,000
- 5+ IPs₫35,000
- 10+ IPs₫25,000
- 20+ IPs₫25,000
- 50+ IPs₫25,000
- 100+ IPs₫25,000
- 200+ IPs₫25,000
- 500+ IPs₫25,000
- 1000+ IPs₫22,000
- 2000+ IPs₫20,000
proxies ڈکشنری کی فارمیٹنگ اور Sessions کا دوبارہ استعمال
ہر URL پر requests.get() کو کال کرنے سے ہر بار بالکل نیا TCP کنکشن اور TLS ہینڈ شیک بنتا ہے۔ اپنی پروکسی کو session = requests.Session() کے ساتھ بائنڈ کرنے سے مسلسل درخواستوں کے دوران پروکسی ٹنل کھلی رہتی ہے۔
| Requests پیرامیٹر | تجویز کردہ سنٹیکس | تکنیکی مقصد |
|---|---|---|
'http' کی | 'http://user:pass@ip:port' | پروکسی کے ذریعے سادہ HTTP درخواستوں کو روٹ کرتا ہے |
'https' کی | 'http://user:pass@ip:port' | http:// اسکیم استعمال کرتا ہے تاکہ urllib3 TLS کے لیے HTTP CONNECT ٹنل جاری کرے |
timeout ٹپل | timeout=(5, 15) | 5s کنیکٹ ٹائم آؤٹ اور 15s ریڈ ٹائم آؤٹ ورکر تھریڈز کو معطل ہونے سے روکتا ہے |
| پول روٹیشن | itertools.cycle(proxy_list) | آپ کے وقف شدہ اسٹیٹک IP پول میں یکساں طور پر روٹیٹ کرتا ہے |
عام urllib3 اور ProxyError کی غلطیوں سے بچنا
- دونوں
'http'اور'https'ڈکشنری کیز کے لیے پروکسی URL اسکیم کے طور پر ہمیشہhttp://(نہ کہhttps://) استعمال کریں، الا یہ کہ آپ کی پروکسی پورٹ کو واضح طور پر TLS-over-TLS درکار ہو urllib.parse.quote(password, safe='')کا استعمال کرتے ہوئے پاس ورڈز میں مخصوص حروف کو URL-encode کریں407 Proxy Authentication Requiredکی خرابی کا مطلب ہے کہ آپ کی URL اسٹرنگ میں صارف کا نام یا پاس ورڈ آپ کے ڈیش بورڈ کی اسناد سے مماثل نہیں تھاhttpx.Client(proxy='http://user:pass@ip:port')اورaiohttpsession.get(url, proxy=...)کے ساتھ بالکل یکساں کام کرتا ہے
مرحلہ وار
- 1
ip:port:user:pass کو URL سنٹیکس میں تبدیل کریں
اپنی VinaProxy لسٹ کو
http://user:pass@ip:portاسٹرنگز میں تبدیل کرنے کے لیے ہمارا Proxy Format Converter استعمال کریں۔ - 2
proxies ڈکشنری کی وضاحت کریں
اپنے Python اسکرپٹ میں
proxies = {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}سیٹ کریں۔ - 3
requests.Session() انسٹینس کے ساتھ منسلک کریں
مستقل
Keep-Aliveپولنگ کے لیےs = requests.Session()شروع کریں اورs.proxies.update(proxies)کو کال کریں۔ - 4
ٹیسٹ درخواست کے ساتھ ایگزٹ IP کی تصدیق کریں
فعال پروکسی IP کی تصدیق کے لیے
print(s.get('https://vinaproxy.com/api/my-ip', timeout=10).json())چلائیں۔
اکثر پوچھے جانے والے سوالات
'https' کی 'http://user:pass@ip:port' کیوں استعمال کرتی ہے؟
http:// سابقہ urllib3 کو بتاتا ہے کہ پروکسی سرور سے خود کیسے جڑنا ہے (معیاری HTTP CONNECT کا استعمال کرتے ہوئے)، جبکہ ہدف https:// ویب سائٹ تک آپ کی اینڈ ٹو اینڈ ٹریفک مکمل طور پر TLS سے انکرپٹڈ رہتی ہے۔
میں Python میں درخواستوں کے درمیان 25 اسٹیٹک پروکسیز کو کیسے روٹیٹ کروں؟
اپنے 25 پروکسی URLs کو pool = itertools.cycle(PROXIES) میں لوڈ کریں اور فی IP مناسب ریٹ لمٹنگ کے ساتھ ہر درخواست پر proxies={'http': p, 'https': p} پاس کریں۔
کیا VinaProxy Python اسکریپنگ اسکرپٹس پر بینڈوتھ کی پیمائش کرتا ہے؟
نہیں۔ تمام Dedicated IPv4 اور Static ISP منصوبوں میں لامحدود ماہانہ ٹریفک شامل ہے۔
ایک لامحدود Python اسکریپنگ پول بنائیں
7 ممالک میں فوری Dedicated IPv4 اور Static ISP پروکسیز۔
Python پروکسیز خریدیں