2012-08-02 273 views
1

我安裝了requestspython請求無法發送https請求

但是我無法發送HTTPS請求,即使像這樣簡單:

requests.get('https://www.google.com') 

的錯誤信息是:

_ssl.c:504: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol 

更新:我可以發送HTTPS請求使用其他方法,urllib2的, httplib可以成功發送https請求

+0

適用於此。你從哪裏安裝請求? – 2012-08-02 09:28:58

+0

您是否使用無法處理https的代理服務器? – 2012-08-02 09:31:31

+0

你可以ping通該地址嗎? – 2012-08-02 09:36:52

回答

4

這不是requests或甚至Python的問題。

您很可能使用的代理服務器未正確配置爲處理SSL連接。確切的問題非常依賴代理服務器。對140770FC錯誤的谷歌搜索會給你很多點擊和討論如何診斷。

請注意,即使您尚未在本地計算機上配置代理,公司防火牆仍可能會強制HTTPS連接在網絡邊界處通過代理。

+0

但是爲什麼urllib2,httplib可以成功?另外,在同一臺機器上,我可以使用java發送https連接 – jiluo 2012-08-02 09:46:22

+0

@MartinLuo:請求中的標題可能導致代理和/或Google的行爲不同?例如,某些代理無法處理來自服務器的SSL重定向。 – 2012-08-02 09:48:10

+0

我只是使用這個簡單的代碼urllib2.urlopen('https://www.google.com'),我不認爲這可能會有不同的結果 – jiluo 2012-08-02 09:50:20