爬虫学习——SSL证书验证

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)

猜你喜欢

转载自blog.csdn.net/m0_46437725/article/details/114881402