uttsu.com >

socket.pl

#!/usr/local/bin/perl

# socket.pl - Socketのテスト
# http://uttsu.com/
# 2002.11.19-

# Description:
# ・引数として指定したURLの内容をGETします。
# ・ディレクトリ名で終わっているURLの最後の/は省略できません。
# ・「とほほのWWW入門」をたいへん参考にしています。
#   http://tohoho.wakusei.ne.jp/wwwperl2.htm#socket

# Usage: socket.pl URL

use strict;

$ARGV[0] =~ /^(?:http:\/\/)?(.*?)(\/.*)/;
my $host = ($1 || 'uttsu.com');
my $url = ($2 || '/');

main();
exit;

sub main {
    my $addr = (gethostbyname($host))[4];
    my $name = pack("S n a4 x8", 2, 80, $addr);
    socket(SOCKET, 2, 1, 0);
    connect(SOCKET, $name);
    binmode(SOCKET);
    select(SOCKET); $| = 1; select(STDOUT);
    print SOCKET "GET $url HTTP/1.0\n";
    print SOCKET "Host:$host\n\n";
    while (<SOCKET>) { print if (!/^HTTP/); }
    close(SOCKET);
}


Copyright (C) Takashi Utsunomiya. All Rights Reserved.
2002.11.20掲載