perlによるhttpクライアント鯖at PHP
perlによるhttpクライアント鯖 - 暇つぶし2ch1:名無しさん@お腹いっぱい。
01/09/13 11:34 C1ttM4R..net
#!/usr/bin/perl

use Socket; # Socket モジュールを使う

# HTTP プロトコルを使う
$port = getservbyname('http','tcp');

# ホスト名を、IP アドレスの構造体に変換
$iaddr = inet_aton("www.cs.gunma-u.ac.jp")
or die "www.cs.gunma-u.ac.jpは存在しないホストです。\n";

# ポート番号と IP アドレスを構造体に変換
$sock_addr = pack_sockaddr_in($port,$iaddr);

# ソケット生成
socket(SOCKET,PF_INET,SOCK_STREAM,0)
or die "ソケットを生成できません。\n";

# 指定のホストの指定のポートに接続
connect(SOCKET,$sock_addr)
or die "www.cs.gunma-u.ac.jpのポート$portに接続できません。\n";

# ファイルハンドル SOCKET をバッファリングしない
select(SOCKET); $|=1; select(STDOUT);

# WWWサーバにHTTPリクエストを送る
print SOCKET "GET /index.html HTTP/1.0\r\n";
print SOCKET "\r\n";

# ヘッダ部分を受け取る
while (<SOCKET>){
# 改行のみの行ならループを抜ける
m/^\r\n$/ and last;
}

# ボディ部分を受け取り、表示
while (<SOCKET>){
print $_;
}
どこかまちがってる?


レスを読む
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch