2010-01-04 5 views
9

J'ai une question à propos du support proxy de python mechanize. Je crée un script de client Web, et je voudrais insérer la fonction de support de proxy dans mon script.Prise en charge du proxy mécanisé de Python

Par exemple, si j'ai:

params = urllib.urlencode({'id':id, 'passwd':pw}) 
rq = mechanize.Request('http://www.example.com', params) 
rs = mechanize.urlopen(rq) 

Comment puis-je ajouter le support de proxy dans mon script mécaniser? Chaque fois que j'ouvre ce site Web www.example.com, je voudrais qu'il passe par le proxy.

Répondre

9

Vous utilisez mechanize.Request.set_proxy (hôte, type) (au moins au 0.1.11)

en supposant un proxy http en cours d'exécution à localhost: 8888

req = mechanize.Request("http://www.google.com") 
req.set_proxy("localhost:8888","http") 
mechanize.urlopen(req) 

Si le travail .

29

Je ne sais pas si cette aide ou non, mais vous pouvez définir les paramètres de proxy sur mechanize navigateur proxy.

br = Browser() 
# Explicitly configure proxies (Browser will attempt to set good defaults). 
# Note the userinfo ("joe:[email protected]") and port number (":3128") are optional. 
br.set_proxies({"http": "joe:[email protected]:3128", 
       "ftp": "proxy.example.com", 
       }) 
# Add HTTP Basic/Digest auth username and password for HTTP proxy access. 
# (equivalent to using "joe:[email protected]" form above) 
br.add_proxy_password("joe", "password") 
+0

Salut, merci pour votre réponse, mais c'est le module mechanize.browser, qui est un peu différent de ce que je cherche la méthode, je cherche mécaniser la méthode .urlopen merci – paul

+0

br.add_proxy_password() ne fonctionne plus. –