requests提供了证书验证的功能。当发送HTTP请求时,它会检查SSL证书,我们可以使用verify参数控制是否检查此证书。其实如果不加verify参数的话,默认是True,会自动验证。
如果访问未被认证的网页,我们在访问时,都可以看到一个证书问题的页面,用requests测试,print(xxx.status_code)的结果会提示一个SSLError错误,表示证书验证错误。
如何避免这样的错误:把verify参数设置成False即可
举个栗子:
import requests response=requests.get('https://www.12306.cn',verify=False) print(response.status_code)
打印出成功的状态码,但是报出警报:
提示建议给它指定证书,我们可以通过设置忽略警告的方式来屏蔽这个警告:
import requests from requests.packages import urllib3 urllib3.disable_warnings() response=requests.get('https://www.12306.cn',verify=False) print(response.status_code)
或者通过捕获警告到日志的方式忽略警告:
import logging import requests logging.captureWarnings(True) response=requests.get('https://www.12306.cn',verify=False) print(response.status_code)
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试