Чӣ тавр дар Python Requests проксиро истифода бурдан мумкин аст (HTTP/HTTPS ва пулинги Session)
Updated:
Китобхонаи requests-и Python проксиҳои аутентификатсияшудаи 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 IP40 000 ₫
- 5+ IP35 000 ₫
- 10+ IP25 000 ₫
- 20+ IP25 000 ₫
- 50+ IP25 000 ₫
- 100+ IP25 000 ₫
- 200+ IP25 000 ₫
- 500+ IP25 000 ₫
- 1000+ IP22 000 ₫
- 2000+ IP20 000 ₫
- 1 IP40 000 ₫
- 5+ IP35 000 ₫
- 10+ IP25 000 ₫
- 20+ IP25 000 ₫
- 50+ IP25 000 ₫
- 100+ IP25 000 ₫
- 200+ IP25 000 ₫
- 500+ IP25 000 ₫
- 1000+ IP22 000 ₫
- 2000+ IP20 000 ₫
Форматкунии луғати proxies ва истифодаи такрории Session-ҳо
Гузаронидани requests.get() барои ҳар як URL ҳар дафъа пайвасти нави TCP ва дастфишории TLS-ро эҷод мекунад. Пайваст кардани прокси ба session = requests.Session() туннели проксиро барои дархостҳои паиҳам боз нигоҳ медорад.
| Параметри Requests | Синтаксиси тавсияшаванда | Мақсади техникӣ |
|---|---|---|
Калиди 'http' | 'http://user:pass@ip:port' | Дархостҳои оддии HTTP-ро тавассути прокси равона мекунад |
Калиди 'https' | 'http://user:pass@ip:port' | Нақшаи http://-ро истифода мебарад, то urllib3 туннели HTTP CONNECT-ро барои TLS эҷод намояд |
Кортежи timeout | timeout=(5, 15) | Таваққуфи пайвасти 5 сония ва хониши 15 сония овезон мондани риштаҳои коргариро пешгирӣ мекунад |
| Ротатсияи ҳавз | itertools.cycle(proxy_list) | Дар байни ҳавзи IP-ҳои статикии махсуси шумо баробар давр мезанад |
Пешгирӣ аз хатогиҳои маъмули urllib3 ва ProxyError
- Ҳамеша
http://-ро (наhttps://) ҳамчун нақшаи URL-и прокси барои ҳарду калиди луғати'http'ва'https'истифода баред, ба шарте ки порти проксии шумо TLS-over-TLS-ро талаб накунад - Аломатҳои махсусро дар парол бо истифодаи
urllib.parse.quote(password, safe='')рамзгузорӣ намоед - Хатои
407 Proxy Authentication Requiredмаънои онро дорад, ки номи корбар ё парол дар сатри URL бо маълумоти панели шумо мувофиқат накард - Бо
httpx.Client(proxy='http://user:pass@ip:port')ваsession.get(url, proxy=...)-иaiohttpкомилан якхела кор мекунад
Қадам ба қадам
- 1
Табдил додани ip:port:user:pass ба синтаксиси URL
Барои ба сатрҳои
http://user:pass@ip:portтабдил додани рӯйхати VinaProxy-и худ аз Табдилдиҳандаи формати прокси истифода баред. - 2
Муайян кардани луғати proxies
Дар скрипти Python-и худ
proxies = {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}-ро таъин кунед. - 3
Пайваст кардан ба намунаи requests.Session()
s = requests.Session()-ро оғоз кунед ва барои пулинги доимииKeep-Aliveсатри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 рамзгузорӣ мемонад.
Чӣ тавр 25 проксии статикиро дар дархостҳо дар Python ротатсия кунам?
25 URL-и проксии худро ба pool = itertools.cycle(PROXIES) бор кунед ва барои ҳар як дархост proxies={'http': p, 'https': p}-ро бо маҳдудкунии муносиби суръат барои ҳар як IP интиқол диҳед.
Оё VinaProxy трафикро дар скриптҳои скрипинги Python ҳисоб мекунад?
Не. Ҳамаи нақшаҳои махсуси IPv4 ва статикии ISP трафики бемаҳдуди моҳонаро дар бар мегиранд.
Ҳавзи бемаҳдуди скрипингро дар Python созед
Проксиҳои фаврии махсуси IPv4 ва статикии ISP дар 7 кишвар.
Харидани проксиҳо барои Python