之前版本的代理中,可以使用fiddler進行HTTP包的代理,但是代理HTTPS包時,執行錯誤
self._sslobj.do_handshake()ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749)
urllib或requests在打開https站點是會驗證證書,簡單的處理方式就是把發送https請求時把驗證ssl證書關掉,即設置verify為False
具體代碼設置如:
requests.post(host, data=requestData, headers=headerData,proxies=proxies,verify=False)
取消SSL驗證又帶來一個新問題
C:/Users/lluozh/AppData/Local/Programs/Python/Python36/lib/site-packages/urllib3/connectionpool.py:852: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
InsecureRequestWarning)
雖然不是錯誤,但是在捕捉異常時,默認會出問題,為了不影響原有流程,應該去掉這些警告信息
from requests.packages.urllib3.exceptions import InsecureRequestWarningrequests.packages.urllib3.disable_warnings(InsecureRequestWarning)
或者直接取消所有urllib3的警告
requests.packages.urllib3.disable_warnings()
以上就是本文關于Python request設置HTTPS代理代碼解析的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!
新聞熱點
疑難解答