Python mechanize не работи, когато се изисква 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
Благодаря ти. Със сигурност вашият начин се приема от основното удостоверяване. Когато прокси сървърът изисква обобщено удостоверяване, потребителското име и паролата не могат да бъдат вградени в proxy-url. Опитах requests.auth.HTTPProxyAuth, но проксито върна 407. - person yutaka2487; 22.11.2012