:- dlib_require(socket).
test:-
	% サーバーへHTTP接続を行う
	host2ip('www.yahoo.co.jp',GH,AH,IP),
	client_connect(IP,'80',S),

	% GETリクエストを作成する
	name(CR,[10]),
	atom_concat('GET ','/',P1),
	atom_concat(P1,' HTTP/1.1',P2),
	atom_concat(P2,CR,P3),
	atom_concat(P3,'Host: 127.0.0.1',P4),
	atom_concat(P4,CR,P5),
	atom_concat(P5,'Connection: Close',P6),
	atom_concat(P6,CR,P7),
	atom_concat(P7,CR,Get),

	% サーバーへGET命令を送信し、コンテンツを表示する
	socket_send(S,Get),
	get_all(S,"",LAns),

	% サーバーの切断を行う
	socket_close(S),
	name(Ans,LAns),
	write(Ans).

get_all(Sock2,Bef,Ans):-
    select_from_sockets(20000000,[Sock2],[Sock3]),
    socket_receive_list(Sock3,Out),length(Out,N),N>0,!,
    append(Bef,Out,NextBef),
    get_all(Sock3,NextBef,Ans).
get_all(Sock2,A,A).

