#!/usr/bin/perl
use Socket;
# URLを解釈する
$ARGV[0] =~ m#http://([^/]+)(.*$)#;
$hostname = $1 or die("URLが正しくありません");
$document = $2;
$port = 80; # ポート番号
$ipaddr = inet_aton($hostname);
# ソケット作成
socket(SOCK, PF_INET, SOCK_STREAM, getprotobyname('tcp')) or die;
# connectする(bindは省略してある)
connect(SOCK, sockaddr_in($port, $ipaddr)) or die;
# バッファリング無効
select(SOCK); $| = 1; select(STDOUT);
# リクエスト
print SOCK "GET $document HTTP/1.0\r\n";
print SOCK "Host: $hostname\r\n\r\n";
open(W3M, "| w3m -T text/html -dump");
while(<SOCK>){
print $_;
last if $_ eq "\r\n";
}
# リクエストの回答を得る
print W3M <SOCK>;