I tried the inets
library but it times out. I don't think it supports HTTPS. I am trying to use ibrowse, but it isn't working.
Asked
Active
Viewed 1.0k times
25

TalkLittle
- 8,866
- 6
- 54
- 51

gersh
- 2,227
- 4
- 23
- 23
-
7"It isn't working?" Post your errors! Post your code! – Jim Puls May 22 '10 at 01:29
4 Answers
31
This works fine for me:
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")
would also work though, you just have to load appropriate applications before any request.

Emil Vikström
- 90,431
- 16
- 141
- 175

YasirA
- 9,531
- 2
- 40
- 61
3
This is what worked for me:
application:start(crypto),
application:start(public_key),
application:start(ssl),
application:start(inets).
httpc:request(head, {"https://example.com", []}, [{ssl,[{verify,0}]}], []).

Mike
- 1,884
- 2
- 24
- 42
1
In Erlang/OTP 25:, this worked for me:
httpc:request(get, {"https://erlang.com", []}, [{ssl, [{verify, verify_peer}, {cacerts, public_key:cacerts_get()}]}], []).

user3649097
- 11
- 2
0
For me this worked for a get request (with peer verification enabled) in Yaws 2.1.0 on Erlang/OTP 24:
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"}]}], []).
Else there will be the warning: "Authenticity is not established by certificate path validation"
For more options see: https://www.erlang.org/doc/man/httpc.html#request-4

Sebastian Hölzl
- 45
- 7