2016-05-17 4 views
2

Der folgende Code verwenden, können verschiedene Proxy verwenden, um auf andere MethodeWie andere IP-Proxy auf dem gleichen Programm in urllib2?

Verwendung urllib2.install_opener() wird set proxy als offizielle Dokumente

proxy_handler = urllib2.ProxyHandler({protocol : protocol + '://' + ip_proxies}) 
opener = urllib2.build_opener(proxy_handler) 
urllib2.install_opener(opener) 

Aber ich möchte verwenden die globale opener in urllib2, so dass ich nicht zwei verschiedene Proxy-Einstellungen im Programm verwenden kann.

Wie kann ich nicht install_opener verwenden globale Einstellungen zu ändern, aber nur opener direkt die open Methode anstelle der globalen urlopen Methoden aufrufen?

Antwort

1

Ich habe dieses Problem gelöst. Der Schlüssel ist Verwendung requests anstelle von urllib2, mein schlechtes. Eigenschaften

import requests 

s = requests.Session() 
proxies = { 
     'http': 'http://127.0.0.1:8087', 
     'https': 'http://127.0.0.1:8087', 
} 
login_data = { 
     'email': '[email protected]', 
     'pass': 'mima', 
} 
r = s.get('https://www.facebook.com/login.php?login_attempt=1', proxies=proxies, verify=False) 

requests Unterstützte

  • Internationale Domains und URLs
  • Keep-Alive & Connection Pooling
  • Sessions mit persistenten Cookies
  • Browser-Stil SSL Verification
  • Basic/Digest Authentifizierung
  • Eleganter Schlüssel/Wert-Plätzchen
  • Autodekowelle
  • Automatische Inhalt Dekodierung
  • Unicode Antwort Bodies
  • Mehrteiliger Datei-Uploads
  • HTTP (S) Proxy-Unterstützung
  • Verbindung Timeouts
  • Streaming Downloads
  • .netrc Unterstützung
  • Chunked Requests
  • Gewindesicherheit
Verwandte Themen