Python 2.6.1의 urllib2은 https를 통한 프록시를 지원합니까?Python 2.6.1의 urllib2는 https를 통한 프록시를 지원합니까?
나는 http://www.voidspace.org.uk/python/articles/urllib2.shtml에서 다음을 발견했습니다
NOTE
Currently urllib2 does not support fetching of https locations through a proxy. This can be a problem.
나는 웹 사이트 및 다운로드 문서에 로그인을 자동화 노력하고있어 나는 유효한 사용자 이름/암호가 있습니다.
proxy_info = {
'host':"axxx", # commented out the real data
'port':"1234" # commented out the real data
}
proxy_handler = urllib2.ProxyHandler(
{"http" : "http://%(host)s:%(port)s" % proxy_info})
opener = urllib2.build_opener(proxy_handler,
urllib2.HTTPHandler(debuglevel=1),urllib2.HTTPCookieProcessor())
urllib2.install_opener(opener)
fullurl = 'https://correct.url.to.login.page.com/user=a&pswd=b' # example
req1 = urllib2.Request(url=fullurl, headers=headers)
response = urllib2.urlopen(req1)
나는이 HTTPS를 사용하여 유사한 페이지 위해 일하지만 했어 나는 프록시를 통해 얻을하지 않습니다 생각 - 그것은 단지 내가 프록시를 지정하지 않았을 때와 같은 방식으로 붙어됩니다. 프록시를 통해 나가야합니다.
기본 인증을 사용하지 않고 인증해야하지만 urllib2는 https 사이트 (URL을 통해 사이트에 사용자 이름/비밀번호를 제공)를 통과 할 때 인증을 알아낼 수 있습니까?
편집 : 아니, 나는
proxies = {
"http" : "http://%(host)s:%(port)s" % proxy_info,
"https" : "https://%(host)s:%(port)s" % proxy_info
}
proxy_handler = urllib2.ProxyHandler(proxies)
테스트 그리고 오류 얻을 :
urllib2.URLError: urlopen error [Errno 8] _ssl.c:480: EOF occurred in violation of protocol
아악, 그것은 나를 – stefanB
불행히도의 'https'키와 프록시를 추가 (이 파이썬에서 실행이 좋을 것이다 아직도 내가 곱슬 곱슬와 함께 필요한 것을 알아 냈어요 BTW하지만) 해보자 :)있어 당신이 ProxyHandler에게 전달하는 dict에서 AFAIK는 CONNECT HTTP 메소드에 대한 지원이 없다고 문제를 해결하지 않을 것입니다. PyCurl을 사용하는 것이 가장 쉬운 해결 방법이지만 PyCurl에서의 Windows 지원 부족 (또는 최소한의 설치 용이성)은 코드를 배포하는 데 큰 장애물이 될 수 있습니다. – Tom