重現我的問題,您需要有提琴手打開並觀看互聯網流量。 Fiddler的代理服務器是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'
這個錯誤可以歸因於無效的代理,但我得到它的任何和所有代理。
我使用Python httlib執行POST操作到站點:
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
我的Python包寫入,是數千行代碼的,所以我真的不能切換到請求 。
有趣的是,在進行基本的POST和GET操作時,我可以使用urllib2獲得調用(非多部分帖子)。
請指教!
謝謝
我使用Python 2.7.5
1.發佈完整的回溯。 2.當這個錯誤發生時,你調用的函數的參數是什麼? – User 2014-11-14 17:00:24
我通過切換到urllib2解決了我的問題。我真正注意到的唯一情況是,httplib似乎比urllib2更快地上傳文件。 – 2014-11-14 19:35:57