0

试图了解如何使用自签名证书。我正在使用 vagrant ubuntu xenial box 。使用 unix.stackexchange.com 中描述的方法导入 ROOT 证书。令我惊讶的 curl 有效,但 httpie 没有。

dpkg-重新配置 ca 证书

 curl  -XPOST -H "Content-Type: application/json" -d '{"name":"Joseph","sname":"adfadf"}' https://x.x.x.x/test.php

echo '{"name":"Joseph","sname":"adfadf"}' | http POST  https://x.x.x.x/test.php

http: error: SSLError: HTTPSConnectionPool(host='x.x.x.x', port=443): Max retries exceeded with url: /test.php (Caused by SSLError(SSLError(1, u'[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)'),)) while doing POST request to URL: https://x.x.x.x/test.php

但是,当我使用 httpie 的 --verify 选项时,它起作用了。但这有点违背信任调用 API 的服务器上的证书的方法。

有什么我做得不好的吗?

4

1 回答 1

0

经过一番googlefu,原来是httpie github page下的一个bug 。当我用 apt-get 安装的 httpie 交换 pip 安装时,它开始工作

于 2017-10-23T16:17:32.033 回答