requests请求https遇到的问题

http://bbs.csdn.net/topics/391059920

requests库测试https协议接口

利用Python测试https的接口,利用requests库中的控制参数:

requests的控制参数参考:requests库具体使用

12.verify:Ture/False,默认是Ture,用于验证SSL证书开关

13.cert:保存本地SSL证书路径的字段

解决方法1:

#!/bin/env python
import requests
url = "https://www.qlchat.com/login.html"
ret = requests.get(url, verify="/Test/ssl_address/qlchat.com.crt")
print ret.status_code

通过 verify 指定证书,表示相信此证书(52.77.252.184.crt 是服务器端证书);也可以用 verify=False,表示不验证服务器端的证书。

https的证书获取:

通过Chrome里面-设置-证书,可以导出该域名的ssl证书,然后放到指定路径,verify=证书路径。就能直接请求https了


解决方法2:

设置环境变量 REQUESTS_CA_BUNDLE:
export REQUESTS_CA_BUNDLE=/tmp/ssl/52.77.252.184.crt
然后使用 request 访问。
#!/bin/env python
import requests
url = "https://52.77.252.184/test.txt"
ret = requests.get(url)
print ret.status_code


Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐