2017-07-31 64 views
0

我已經看過並嘗試了幾種關於使用python代理的https請求的堆棧解決方案,並且我已經看到了關於GitHub的討論。https使用python代理獲取請求不起作用

我的印象是,在Python 3請求庫使用代理,所以我不明白爲什麼我的不行現在有HTTPS請求支持:

import requests 

proxydict = { 
'http':'http://xx.xx.xx.xxx:5555/', 
'https':'https://xx.xx.xxx.xx:5555/' 
} 

requests.get('https://www.google.co.uk',proxies = proxydict). 

當我運行這段代碼我得到:

ConnectionError: HTTPSConnectionPool(host='www.python.org', port=443): 
Max retries exceeded with url:/(Caused by SSLError(SSLError("bad handshake: 
Error([('SSL routines', 'ssl3_get_server_certificate', 'certificate verify failed')],)",),)) 

我曾經使用郵遞員代理來做到這一點。 帶有代理的我的http請求正常工作。有人可以幫忙嗎?

編輯: 我想用公司代理來做到這一點,所以我不能簡單地使用不同的代理。另外,https地址在瀏覽器中工作正常,只是當我使用代理執行python請求時(如文檔中所述發生此錯誤)。

謝謝。

回答

0

你好,因爲你的代理未使用SSL
工作或你的代理服務器使用的網站通過瀏覽器嘗試其他 從這裏
https://www.sslproxies.org/
向下滾動,你看到的是https代理

+0

當我訪問HTTPS同時使用代理它工作正常。只有當我做了一個python請求。我試圖解決這個問題,以便我可以使用公司代理的解決方案,其中錯誤是相同的,並且我沒有選擇要使用的代理。對於企業代理,我也可以通過瀏覽器訪問https網站,但只有python請求無法使用。 –

+0

嘗試使用HTTPS代理,做這個 – 2017-07-31 15:18:24

+0

導入請求 proxydict = { 的 'https': 'HTTPS://xx.xx.xxx.xx:5555 /' } requests.get(的「https:/ /www.google.co.uk',proxies = proxydict)。 – 2017-07-31 15:18:36