我尝试了inets
图书馆,但它超时了。我认为它不支持 HTTPS。我正在尝试使用 ibrowse,但它不起作用。
问问题
9609 次
3 回答
31
这对我来说很好:
1> application:start(inets).
ok
2> application:start(ssl).
ok
3> http:request(head, {"https://example.com", []}, [{ssl,[{verify,0}]}], []).
{ok,{{"HTTP/1.1",200,"OK"},
[{"cache-control","max-age=0, proxy-revalidate"},
{"date","Sun, 23 May 2010 00:38:33 GMT"},
{"server","BAIDA/1.0.0"},
{"content-type","text/html; charset=windows-1251"},
{"expires","Sun, 23 May 2010 00:38:33 GMT"},
{"set-cookie",
"uid=9041986921274575113; domain=.example.com; path=/; expires=Tue, 19 Jan 2038 03:14:07 GMT"}],
[]}}
http:request("https://example.com")
不过也可以,您只需要在任何请求之前加载适当的应用程序。
于 2010-05-22T01:51:08.843 回答
3
这对我有用:
application:start(crypto),
application:start(public_key),
application:start(ssl),
application:start(inets).
httpc:request(head, {"https://example.com", []}, [{ssl,[{verify,0}]}], []).
于 2019-03-05T21:21:23.183 回答
0
对我来说,这适用于 Erlang/OTP 24 上 Yaws 2.1.0 中的获取请求(启用对等验证):
application:start(inets).
application:start(crypto).
application:start(asn1).
application:start(public_key).
application:start(ssl).
httpc:request(get, {"https://example.com", []},
[{ssl, [{verify, verify_peer}, {cacertfile,"/path/to/cacertfile.crt"}]}], []).
否则会有警告:"Authenticity is not established by certificate path validation"
有关更多选项,请参阅:https ://www.erlang.org/doc/man/httpc.html#request-4
于 2022-02-01T23:29:50.860 回答