په Python Requests کې د پراکسي کارولو څرنګوالی (HTTP/HTTPS او Session pooling)
Updated:
د Python د requests کتابتون د VinaProxy تایید شوي پراکسيان د یوه proxies ډکشنري له لارې مني چې دواړه سکیمونه '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₫ ۴۰٬۰۰۰
- 5+ IPs₫ ۳۵٬۰۰۰
- 10+ IPs₫ ۲۵٬۰۰۰
- 20+ IPs₫ ۲۵٬۰۰۰
- 50+ IPs₫ ۲۵٬۰۰۰
- 100+ IPs₫ ۲۵٬۰۰۰
- 200+ IPs₫ ۲۵٬۰۰۰
- 500+ IPs₫ ۲۵٬۰۰۰
- 1000+ IPs₫ ۲۲٬۰۰۰
- 2000+ IPs₫ ۲۰٬۰۰۰
- 1 IP₫ ۴۰٬۰۰۰
- 5+ IPs₫ ۳۵٬۰۰۰
- 10+ IPs₫ ۲۵٬۰۰۰
- 20+ IPs₫ ۲۵٬۰۰۰
- 50+ IPs₫ ۲۵٬۰۰۰
- 100+ IPs₫ ۲۵٬۰۰۰
- 200+ IPs₫ ۲۵٬۰۰۰
- 500+ IPs₫ ۲۵٬۰۰۰
- 1000+ IPs₫ ۲۲٬۰۰۰
- 2000+ IPs₫ ۲۰٬۰۰۰
د proxies ډکشنري بڼه جوړول او د Sessions بیا کارول
په هر URL باندې د requests.get() غوښتنه هر ځل یو نوی TCP پیوستون او د TLS لاسي روغبړ (handshake) رامنځته کوي. له session = requests.Session() سره د خپل پراکسي تړل د پرله پسې غوښتنو په اوږدو کې د پراکسي تونل خلاص ساتي.
| Requests پیرامیټر | وړاندیز شوی Syntax | تخنیکي موخه |
|---|---|---|
د '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 په syntax بدله کړئ
زموږ Proxy Format Converter وکاروئ ترڅو خپل VinaProxy لیست په
http://user:pass@ip:portسټرینګونو بدل کړئ. - 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 پراکسيان وپیرئ