如何在erlang中的http客户端(httpc)中禁用SSL对等验证

时间:2017-11-21 13:05:41

标签: ssl https erlang ca

我发送了一个http客户端的restfull api请求,但我得到以下错误:

{error,{failed_connect,[{to_address,{"https://example.com",443}},
{inet,[inet],{tls_alert,"record overflow"}}]}}

我发现SSL对等验证造成了这个问题。我怎么能禁用它?

我的代码:

test() ->
   inets:start(),
   ssl:start(),
   RequestBody = "",
   Request = {"https://example.com", [{"X-API-CODE",""}, {"Accept","application/json"}, {"access-token",""}], "application/json", RequestBody},
   {ok, {_, _, ResponseBody}} = httpc:request(post, Request, [], []),
   io:format("~st", [ResponseBody]).

1 个答案:

答案 0 :(得分:1)

虽然禁用验证不是一个好主意,但可以在选项中使用{ssl, [{verify, verify_none}]}。 例: httpc:request(get, {"https://revoked.badssl.com/", []}, [{ssl, [{verify, verify_none}]}], []).