HTTP: Difference between revisions
Content added Content deleted
Line 4: | Line 4: | ||
=={{header|Erlang}}== |
=={{header|Erlang}}== |
||
===Synchronous=== |
|||
-module(main). |
-module(main). |
||
-export([main/1]). |
-export([main/1]). |
||
Line 12: | Line 13: | ||
{ok, {_V, _H, Body}} -> io:fwrite("~p~n",[Body]); |
{ok, {_V, _H, Body}} -> io:fwrite("~p~n",[Body]); |
||
{error, Res} -> io:fwrite("~p~n", Res) |
{error, Res} -> io:fwrite("~p~n", Res) |
||
end. |
|||
===Asynchronous=== |
|||
-module(main). |
|||
-export([main/1]). |
|||
main([Url|[]]) -> |
|||
inets:start(), |
|||
http:request(get, {Url, [] }, [], [{sync, false}]), |
|||
receive |
|||
{http, {_ReqId, Res}} -> io:fwrite("~p~n",[Res]); |
|||
_Any -> io:fwrite("Error: ~p~n",[_Any]) |
|||
after 10000 -> io:fwrite("Timed out.~n",[]) |
|||
end. |
end. |
||
Revision as of 10:19, 26 September 2008
HTTP
You are encouraged to solve this task according to the task description, using any language you may know.
You are encouraged to solve this task according to the task description, using any language you may know.
Print a URL's content.
Erlang
Synchronous
-module(main). -export([main/1]). main([Url|[]]) -> inets:start(), case http:request(Url) of {ok, {_V, _H, Body}} -> io:fwrite("~p~n",[Body]); {error, Res} -> io:fwrite("~p~n", Res) end.
Asynchronous
-module(main). -export([main/1]). main([Url|[]]) -> inets:start(), http:request(get, {Url, [] }, [], [{sync, false}]), receive {http, {_ReqId, Res}} -> io:fwrite("~p~n",[Res]); _Any -> io:fwrite("Error: ~p~n",[_Any]) after 10000 -> io:fwrite("Timed out.~n",[]) end.
Using it
|escript ./req.erl http://www.rosettacode.org
Perl
<perl>using LWP::Simple; print get("http://www.rosettacode.org");</perl>
PHP
<php>print(file_get_contents("http://www.rosettacode.org"));</php>
Python
<python>import urllib print urllib.urlopen("http://www.rosettacode.org").read()</python>