可信证书 curl 与 httpie

trusted certificate curl vs httpie

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

 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.

的服务器上信任证书的方法。

我有什么做的不好吗?

google了一番,发现是httpie github page下的一个bug。当我用 httpie 的 apt-get 安装交换 pip 安装时它开始工作