HTTPクライアントの作成(TCPクライアントサンプル)

ここでは、Perlを使ったクライアントの例としてインチキHTTPクライアントを作ってみたいと思います。 HTTPは日ごろ良く使っていて、馴染みも深いと思います。 ただし、ここで紹介するインチキHTTPクライアントはHTTPメッセージを表示するだけの簡単なものです。

HTTPクライアントサンプル

以下にインチキHTTPクライアントを示します。


#!/usr/bin/perl

use IO::Socket;

$sock = new IO::Socket::INET(PeerAddr=>'www.google.co.jp',
		PeerPort=>80,
		Proto=>'tcp');

die "IO::Socket : $!" unless $sock;

print $sock "GET / HTTP/1.0\r\n\r\n";

print <$sock>;

close($sock);

exit;

折角なので、作成したHTTPクライアントを使ってみたいと思います。 www.google.co.jpに接続すると以下のようになります。 (ただし、下記例では表示スペースに押し込むために一部結果を削ってあります。何となくこんな感じかなぁ程度に見てください。)


C:\> client.exe www.google.co.jp
HTTP/1.0 302 Found
Location: http://www.google.co.jp/cxfer?c=PREF%3D:TM%3D1105:S%3DrI6jLhtK7m&prev=/
Set-Cookie: PREF=ID=04f0a2d0a3400510:CR=1:TM=110515:LM=1105515:S=55PyTj
S-5evTiH; expires=Sun, 17-Jan-2038 19:14:07 GMT; path=/; domain=.google.com
Content-Type: text/html
Server: GWS/2.1
Content-Length: 217
Date: Mon, 10 Jan 2005 04:48:35 GMT
Connection: Keep-Alive

<HTML><HEAD><TITLE>302 Moved</TITLE></HEAD><BODY>
<H1>302 Moved</H1>
The document has moved
<A HREF="http://www.google.co.jp/cxfer?c=PREF%3D:TM%315:S%3D6Gm&prev=/">here</A>.
</BODY></HTML>

IPv6基礎検定

YouTubeチャンネルやってます!