Механизм Python не работает, когда требуется аутентификация HTTPS и прокси

Я использую Python 2.7.2 и Mechanize 0.2.5.
Когда я подключаюсь к Интернету, мне приходится использовать прокси-сервер. Я написал следующие коды, но в последней строке произошла ошибка URLError. У кого-нибудь есть решение по этому поводу?

import mechanize

br = mechanize.Browser()
br.set_debug_http(True)
br.set_handle_robots(False)

br.set_proxies({
    "http"  : "192.168.20.130:8080",
    "https" : "192.168.20.130:8080",})
br.add_proxy_password("username", "password")

br.open("http://www.google.co.jp/")  # OK
br.open("https://www.google.co.jp/") # Proxy Authentication Required

person yutaka2487    schedule 22.11.2012    source источник


Ответы (1)


Я не рекомендую вам использовать Mechanize, он устарел. Взгляните на запросы, это значительно облегчит вам жизнь. Использование прокси с запросами это просто:

import requests

proxies = {
  "http": "10.10.1.10:3128",
  "https": "10.10.1.10:1080",
}

requests.get("http://example.org", proxies=proxies)
person scripts    schedule 22.11.2012
comment
Спасибо большое. Я не знаю модуль запросов. Я пробую это сейчас. Как указать имя пользователя и пароль для прокси-аутентификации? - person yutaka2487; 22.11.2012
comment
вам нужно использовать URL-адрес прокси, например: имя пользователя: мой пароль@10.10.1.10:3128 - person scripts; 22.11.2012
comment
Спасибо. Наверняка ваш способ принят базовой аутентификацией. Когда прокси-сервер требует дайджест-авторизации, имя пользователя и пароль не могут быть встроены в прокси-url. Я попробовал request.auth.HTTPProxyAuth, но прокси вернул 407. - person yutaka2487; 22.11.2012