dd.httpRequest的参数url传入https://x.x.x.x:19800/ddserver/api/yyyy,其中x.x.x.x是IP地址,这是一个自签名的https。运行无法调通。要怎么处理,有没有地方可以设置证书。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
由于传入的url是一个自签名的https,需要在请求中添加证书才能正常通信。可以使用http.HttpCert类加载证书,并在http.HttpRequest中添加证书参数,示例代码如下:
import http
# 加载证书
cert = http.HttpCert('path/to/cert.pem', 'path/to/key.pem')
# 构造请求
url = 'https://x.x.x.x:19800/ddserver/api/yyyy'
headers = {'Content-Type': 'application/json'}
data = {'key': 'value'}
req = http.HttpRequest(url, headers=headers, data=data, cert=cert)
# 发送请求
resp = req.post()
print(resp.content)
其中,path/to/cert.pem和path/to/key.pem分别是证书和私钥文件的路径。在构造http.HttpCert对象时,可以传入证书和私钥的路径,也可以直接传入证书和私钥的内容。