내 문제를 재현하려면 피들러를 열고 인터넷 트래픽을 시청해야합니다. Fiddler의 proxyurl은 127.0.0.1이고 포트는 8888입니다. 그러나 실제로 HTTPS를 통한 모든 프록시에서이 문제가 발생합니다. HTTPSConnection 클래스를 사용하여, 나는 프록시와 포트를 설정,하지만 난이 오류가 결국 :httlib 및 HTTPSConnection 관련 문제 프록시 (프록시) 사용
'SSLError: [Errno 1] _ssl.c:504: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol'
이 오류는 잘못된 프록시에 기인 할 수 있지만, 내가 어떤 모든 프록시를 위해 그것을 얻을.
나는 사이트에 POST 작업을 수행하기 위해 파이썬 httlib을 사용하고 있습니다 :
content_type, body = self._encode_multipart_formdata(fields, files) # encodes a file to string, standard multipart post stuff
headers = {
'content-type': content_type,
'content-length': str(len(body))
}
if proxy_url:
if ssl:
h = httplib.HTTPSConnection(proxy_url, proxy_port)
h.request('POST', 'https://' + host + selector, body, headers)
else:
h = httplib.HTTPConnection(proxy_url, proxy_port)
h.request('POST', 'http://' + host + selector, body, headers)
else:
if ssl:
h = httplib.HTTPSConnection(host,port)
h.request('POST', selector, body, headers)
else:
h = httplib.HTTPConnection(host,port)
h.request('POST', selector, body, headers)
resp_data = h.getresponse().read()
try:
result = json.loads(resp_data)
except:
return None
내 파이썬 패키지를 작성하고 코드 라인의 수천, 그래서 정말 요청로 전환 할 수있다 .
재미있는 점은 기본 POST 및 GET 작업을 수행 할 때 urllib2로 작업 (비 멀티 파트 게시물)을 호출 할 수 있다는 것입니다.
알려 주시기 바랍니다.
내가 그것은 당신이 실제로 프록시 요청을 보내는 것을처럼 보이지 않는 파이썬 2.7.5
1. 전체 추적을 게시하십시오. 2.이 오류가 발생하면 호출 한 함수의 매개 변수는 무엇입니까? – User
urllib2로 전환하여 문제를 해결했습니다. 내가 정말로 알아 차리는 유일한 사실은 httplib가 urllib2보다 빨리 파일을 업로드하는 것 같다는 것입니다. –