Python Requests ile Proxy Nasıl Kullanılır (HTTP/HTTPS ve Session Havuzu)
Updated:
Python'un requests kütüphanesi, hem 'http' hem de 'https' şemalarını http://user:pass@ip:port adresine eşleyen bir proxies sözlüğü aracılığıyla kimlik doğrulamalı VinaProxy proxylerini kabul eder. Bu sözlüğü kalıcı bir requests.Session() nesnesine bağlamak, hızlı ve düşük ek yüklü web kazıma için temel TCP soketlerini yeniden kullanır.
proxies = {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}- 1 IP₫40.000
- 5+ IP₫35.000
- 10+ IP₫25.000
- 20+ IP₫25.000
- 50+ IP₫25.000
- 100+ IP₫25.000
- 200+ IP₫25.000
- 500+ IP₫25.000
- 1000+ IP₫22.000
- 2000+ IP₫20.000
- 1 IP₫40.000
- 5+ IP₫35.000
- 10+ IP₫25.000
- 20+ IP₫25.000
- 50+ IP₫25.000
- 100+ IP₫25.000
- 200+ IP₫25.000
- 500+ IP₫25.000
- 1000+ IP₫22.000
- 2000+ IP₫20.000
proxies sözlüğünü biçimlendirme ve Session'ları yeniden kullanma
Her URL için requests.get() çağırmak, her seferinde yepyeni bir TCP bağlantısı ve TLS el sıkışması oluşturur. Proxynizi session = requests.Session() nesnesine bağlamak, proxy tünelini ardışık istekler boyunca açık tutar.
| Requests Parametresi | Önerilen Sözdizimi | Teknik Amacı |
|---|---|---|
'http' key | 'http://user:pass@ip:port' | Düz HTTP isteklerini proxy üzerinden yönlendirir |
'https' key | 'http://user:pass@ip:port' | urllib3'ün TLS için bir HTTP CONNECT tüneli açması amacıyla http:// şemasını kullanır |
timeout tuple | timeout=(5, 15) | 5 sn bağlantı ve 15 sn okuma zaman aşımı, askıda kalan worker iş parçacıklarını önler |
| Pool rotation | itertools.cycle(proxy_list) | Özel statik IP havuzunuz arasında dengeli bir döngü sağlar |
Sık karşılaşılan urllib3 ve ProxyError tuzaklarından kaçınma
- Proxy portunuz açıkça TLS-over-TLS gerektirmedikçe, hem
'http'hem de'https'sözlük anahtarları için proxy URL şeması olarak her zamanhttp://kullanın (https://değil) urllib.parse.quote(password, safe='')kullanarak şifrelerdeki özel karakterleri URL formatına kodlayın407 Proxy Authentication Requiredhatası, URL dizisindeki kullanıcı adı veya şifrenin panel kimlik bilgilerinizle eşleşmediği anlamına gelirhttpx.Client(proxy='http://user:pass@ip:port')veaiohttpsession.get(url, proxy=...)ile de birebir aynı şekilde çalışır
Adım adım
- 1
ip:port:user:pass formatını URL sözdizimine dönüştürün
VinaProxy listenizi
http://user:pass@ip:portdizelerine dönüştürmek için Proxy Format Converter aracımızı kullanın. - 2
proxies sözlüğünü tanımlayın
Python betiğinizde
proxies = {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}tanımını yapın. - 3
Bir requests.Session() örneğine bağlayın
Kalıcı
Keep-Alivehavuzu içins = requests.Session()başlatın ves.proxies.update(proxies)çağrısını yapın. - 4
Bir test isteğiyle çıkış IP'sini doğrulayın
Aktif proxy IP'sini onaylamak için
print(s.get('https://vinaproxy.com/api/my-ip', timeout=10).json())komutunu çalıştırın.
Sıkça sorulan sorular
'https' anahtarı neden 'http://user:pass@ip:port' kullanır?
http:// öneki urllib3 kütüphanesine proxy sunucusunun kendisine nasıl bağlanacağını söyler (standart HTTP CONNECT kullanarak); bu sırada hedef https:// web sitesine giden uçtan uca trafiğiniz tamamen TLS ile şifrelenmiş olarak kalır.
Python'da istekler arasında 25 statik proxy'yi nasıl döndürürüm?
25 proxy URL'nizi pool = itertools.cycle(PROXIES) içine yükleyin ve IP başına makul bir hız sınırlaması uygulayarak istek başına proxies={'http': p, 'https': p} parametresini iletin.
VinaProxy, Python kazıma betiklerindeki bant genişliğini kotalandırır mı?
Hayır. Tüm Dedicated IPv4 ve Static ISP planları sınırsız aylık trafik içerir.
Kotasız bir Python kazıma havuzu oluşturun
7 ülkede anında Dedicated IPv4 ve Static ISP proxyleri.
Python Proxyleri Satın Al