爬虫之使用verify参数忽略CA证书
爬虫之使用verify参数忽略CA证书
【CA证书是https中认证的一个重要的证书】
在使用浏览器上网的时候,有时能够看到下面的提示(2018年10月之前的12306网站):
- 原因:该网站的CA证书没有经过【受信任的根证书颁发机构】的认证
- 关于CA证书以及受信任的根证书颁发机构点击了解更多
1.1 运行代码查看代码中向不安全的链接发起请求的效果
运行下面的代码将会抛出包含
ssl.CertificateError ...
字样的异常
示例代码:
import requests
url = "https://sam.huat.edu.cn:8443/selfservice/"
response = requests.get(url)
print(response.content.decode())
运行效果:
1.2 解决方案
为了在代码中能够正常的请求,我们使用
verify=False
参数,此时requests模块发送请求将不做CA证书的验证:verify参数能够忽略CA证书的认证
示例代码:
import requests
url = "https://sam.huat.edu.cn:8443/selfservice/"
response = requests.get(url, verify=False)
print(response.content)
运行效果:
CSDN-Ada助手: Python 中有哪些自然语言处理的库?它们的使用场景有哪些?
CSDN-Ada助手: Python 中有哪些常用的数据结构?如何使用这些数据结构?
IT之一小佬: 主机的IP地址呀
IT之一小佬: 要注意引用的先后顺序
IT之一小佬: 有源码的,私聊发你