2012年10月28日日曜日

[Erlang] URLにある内容を読み込む。

はじめに

本記事は、http://www.ruby-lang.org/の内容(html)を読み込んで、その内容のデータサイズ(文字列長)を表示するプログラムをErlangで書いたものである。

本当は、htmlをパースして、タイトルを抜き出したかったが、Erlangでどうやればいいのかわからず、断念した。

プログラム処理概要

  1. URLの内容を読み込む
  2. 内容のデータサイズを表示する。

ソース

-module(test_httpc).
-export([start/0]).
start() ->
    inets:start(),
    { ok, { { Version, 200, ReasonPhrase }, Headers, Body } }
        = httpc:request( get, { "http://www.ruby-lang.org/", [] }, [], []),
    Length = string:len( Body ),
    io:format("length:~w~n", [Length] ).

実行

andre@andre-VirtualBox:~/work/erlang$ erl
Erlang R14B02 (erts-5.8.3) [source] [rq:1] [async-threads:0] [kernel-poll:false]
Eshell V5.8.3  (abort with ^G)
1> c(test_httpc).
./test_httpc.erl:6: Warning: variable 'Headers' is unused
./test_httpc.erl:6: Warning: variable 'ReasonPhrase' is unused
./test_httpc.erl:6: Warning: variable 'Version' is unused
{ok,test_httpc}
2> test_httpc:start().
length:11613
ok
3>