代码如下:tcp_client.erl
-module(tcp_client). -export([get_url/0]). get_url() -> get_url("www.baidu.com"). get_url(Host) -> {ok, Socket} = gen_tcp:connect(Host, 80, [binary, {packet, 0}]), ok = gen_tcp:send(Socket, "GET / HTTP/1.0\r\n\r\n"), receive_data(Socket, []). receive_data(Socket, SoFar) -> receive {tcp, Socket, Bin} -> receive_data(Socket, [Bin|SoFar]); {tcp_closed, Socket} -> list_to_binary(lists:reverse(SoFar)); R -> io_lib:format("error msg receive ~s",[R]) end.
编译和运行:
erlc tcp_client.erl erl B = tcp_client:get_url(), io:format("~p~n",[B]). string:tokens(binary_to_list(B), "\r\n").