requests访问https页面

 

requests访问http很简单,但访问https页面时,需要设置是否验证服务器等情况。

当验证服务器时需要指定根证书路径进行访问,不验证证书访问时会返回证书验证警告。

 

 

  • 访问时忽略验证服务器身份:

    • Requests的请求默认verify=True
    • 如果将 verify设置为 False,Requests 也能忽略对 SSL 证书的验证
    • 但是依然会出现两行Warning,可以不用管
import requests
from requests.packages import urllib3
urllib3.disable_warnings()    #这一句禁用告警
response = requests.get("https://localhost/bash",verify=False)
print(response.status_code)
  • 访问时要求验证服务器身份:

需要通过verify 传入 CA_BUNDLE 文件的路径,或者包含可信任 CA 证书文件的文件夹路径:

requests.get('https://localhost/bash', verify='证书路径')
#也可以通过Session对象进行指定证书路径
s = requests.Session()
s.verify = '证书路径'
  • 带客户端证书访问服务器:

requests.get('https://localhost/bash', cert=('/path/myclient.cert', '/path/myclient.key'))
<Response [200]>
#也可以通过Session对象指定
s = requests.Session()
s.cert = '/path/myclient.cert'

 

posted @ 2022-12-23 22:25  梦想与现实边缘  阅读(364)  评论(0编辑  收藏  举报