一、指定证书
指定一个本地证书用作客户端证书,可以是单个文件(包含秘钥和证书)或一个包含两个文件路径的元组。
1
2
3
| import ssl
requests.get('https://kennethreitz.org', cert=('/path/client.cert', '/path/client.key'))
|
二、忽略证书(不安全)
如果将 verify
设置为 False
, requests
也能忽略对 ssl 证书的验证。
1
2
3
4
5
| import requests
from requests.packages import urllib3
urllib3.disable_warinings()
req = requests.get('https://frwsyw.bjgjj.gov.cn/ish', verify=False)
|
解决 warning 的方式
1
2
3
| InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised.
警告:正在发出未经验证的 HTTPS 请求。强烈建议添加证书验证。
|
解决 warning 的方式:忽略验证警告信息,有两种方式。
新版本解决方式:
1
2
| import urllib3
urllib3.disable_warinings(urllib3.exceptions.InsecureRequestWarning)
|
旧版本解决方式:
1
2
3
4
| import requests
from requests.packages.urllib3.exceptions import InsecureRequestWarning
requests.packages.urllib3.disable_warinings(InsecureRequestWarning)
|