Механизированная поддержка прокси Python
У меня есть вопрос о поддержке прокси Python Mechanize. Я делаю сценарий для веб-клиента и хочу добавить функцию поддержки прокси в мой скрипт.
Например, если у меня есть:
params = urllib.urlencode({'id':id, 'passwd':pw})
rq = mechanize.Request('http://www.example.com', params)
rs = mechanize.urlopen(rq)
Как я могу добавить поддержку прокси в мой скрипт механизации? Всякий раз, когда я открываю это www.example.com
веб-сайт, я хотел бы пройти через прокси.
2 ответа
Решение
Вы используете mechanize.Request.set_proxy(хост, тип) (по крайней мере, начиная с 0.1.11)
предполагая, что http-прокси работает на localhost:8888
req = mechanize.Request("http://www.google.com")
req.set_proxy("localhost:8888","http")
mechanize.urlopen(req)
Должно сработать.
Я не уверен, поможет ли это или нет, но вы можете установить настройки прокси в механизированном браузере прокси.
br = Browser()
# Explicitly configure proxies (Browser will attempt to set good defaults).
# Note the userinfo ("joe:password@") and port number (":3128") are optional.
br.set_proxies({"http": "joe:password@myproxy.example.com:3128",
"ftp": "proxy.example.com",
})
# Add HTTP Basic/Digest auth username and password for HTTP proxy access.
# (equivalent to using "joe:password@..." form above)
br.add_proxy_password("joe", "password")