[Erlang] http:request の前に inets:start() が必要
ひさしぶりに Erlang で http:request
とかしてみたら動かない。ドキュメント を読んでみるとまず inets:start
() が必要らしい。
1> inets:start().
2> {ok, {Status, Header, Body}} = http:request("http://www.google.co.jp").
Ftp も同様に inets:start
() が必要。さらに以前 ftp:open
, ftp:close
だったものが、inets:start(ftpc,...), inetsA:stop
に変更されているみたい。
#!/usr/bin/env escript
main(_) ->
inets:start(),
{ok, Pid} = inets:start(ftpc, [{host, "ftp.example.com"}]),
ftp:user(Pid, "user", "password"),
ftp:cd(Pid, "/public_html/erlang"),
lists:foreach(fun(File) ->
ftp:send(Pid, File)
end,
["cookbook.html",
"cookbook.css",
"index.html"]),
inets:stop(ftpc, Pid).
Erlang はメジャーバージョンが12。着々とバージョンアップを重ね、着々と機能を向上させている。こういうところはとってもえらいと思うよ、Erlang.