Python Requests配置HTTPS代理及关闭SSL验证详解
本文解析Python中使用Requests库配置HTTPS代理时遇到的证书验证问题。通过设置verify=False关闭SSL证书校验,并介绍如何禁用urllib3的InsecureRequestWarning警告,确保代理流程稳定运行且无冗余报错输出。
在早期版本的代理配置中,可以使用Fiddler工具对HTTP请求进行抓包代理,但在处理HTTPS流量时,该方式通常会执行失败。
self._sslobj.do_handshake() ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749)
当使用urllib或requests库访问HTTPS网站时,系统默认会验证SSL证书。一种简便的处理方案是在发送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 InsecureRequestWarning requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
或者,可以直接禁用所有urllib3产生的警告。
requests.packages.urllib3.disable_warnings()
总结
以上即为Python Requests配置HTTPS代理及代码解析的完整内容,希望能为读者提供帮助。感兴趣的朋友可继续查阅本站其他相关专题,如有不足之处,欢迎留言指正。感谢各位对本站的支持!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









