开发者社区> 问答> 正文

dd.httpRequest自签名https调用问题

dd.httpRequest的参数url传入https://x.x.x.x:19800/ddserver/api/yyyy,其中x.x.x.x是IP地址,这是一个自签名的https。运行无法调通。要怎么处理,有没有地方可以设置证书。

展开
收起
1876396284604589 2023-05-12 17:00:57 206 0
1 条回答
写回答
取消 提交回答
  • 由于传入的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对象时,可以传入证书和私钥的路径,也可以直接传入证书和私钥的内容。

    2023-05-13 08:16:21
    赞同 展开评论 打赏
问答分类:
API
问答标签:
来源圈子
更多
收录在圈子:
+ 订阅
问答排行榜
最热
最新

相关电子书

更多
CDN助力企业网站进入HTTPS时代 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载