2012-11-22 2 views
3

저는 Python 2.7.2 및 Mechanize 0.2.5를 사용합니다.
인터넷에 접속할 때 프록시 서버를 사용해야합니다. 다음 코드를 작성했지만 URLError가 마지막 줄에서 발생했습니다.이 문제에 대한 해결책이있는 사람이 있습니까?HTTPS 및 프록시 인증이 필요한 경우 파이썬 기계화가 작동하지 않습니다.

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 

답변

3

기계화를 사용하지 않는 것이 좋습니다. 오래된 것입니다. requests을 보시면 이 훨씬 쉬워집니다. 요청과 함께 프록시를 사용하면 다음과 같습니다.

import requests 

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

requests.get("http://example.org", proxies=proxies) 
+0

대단히 감사합니다. 요청 모듈을 모르겠습니다. 나는 지금 그것을 시도하고있다. 프록시 인증을위한 사용자 이름과 암호는 어떻게 지정합니까? – yutaka

+0

다음과 같은 프록시 URL을 사용해야합니다. username : [email protected] : 3128 – scripts

+0

감사합니다. 확실히 기본 인증 방식으로 귀하의 방법을 받아들입니다. 프록시 서버에 다이제스트 인증이 필요하면 사용자 이름과 비밀번호를 proxy-url에 삽입 할 수 없습니다. 나는 requests.auth.HTTPProxyAuth를 시도했지만, 프록시는 407을 반환했다. – yutaka

관련 문제