python requests 信任自签名证书

我在一台 Nginx 上搭建 https 服务,证书使用自签名的证书,然后使用 Python 访问 https 服务。

 

解决方法1:

#!/bin/env python

import requests

url = "https://52.77.252.184/test.txt"

ret = requests.get(url, verify="/tmp/ssl/requests_test.crt")
print ret.status_code

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

 

解决方法2:

设置环境变量 REQUESTS_CA_BUNDLE:
export REQUESTS_CA_BUNDLE=/tmp/ssl/requests_test.crt

然后使用 request 访问。

#!/bin/env python

import requests

url = "https://52.77.252.184/test.txt"

ret = requests.get(url)
print ret.status_code