*99の指定したCGIを*00が作るスレat PHP*99の指定したCGIを*00が作るスレ - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト307:perlお勉強中 03/07/12 15:28 FW3/pTdg.net >>99ネタ#1 #/usr/local/bin/perl use Socket; use FileHandle; $list_url = 'http://www.ff.iij4u.or.jp/~ch2/bbsmenu.html'; &get_list; srand(time|$$); $url = $list[rand(@list)]; if ($ENV{'PERLXS'} eq "PerlIS") { print "HTTP/1.0 302 Temporary Redirection\r\n"; print "Content-type: text/html\n"; } print "Location: $url\n\n"; exit; 308:perlお勉強中 03/07/12 15:29 FW3/pTdg.net >>99ネタ#2 sub get_list { $list_url =~ m!(http:)?(//)?([^:/]*)?(/.*)?!; if ($3) {$_host = $3;} if ($4) {$_path = $4;} $_ip = inet_aton($_host) || die "host($_host) not found.\n"; $_sockaddr = pack_sockaddr_in(80, $_ip); socket(SOCKET, PF_INET, SOCK_STREAM, 0) || die "socket error.\n"; # ソケットの接続 connect(SOCKET, $_sockaddr) || die "connect $_host error.\n"; autoflush SOCKET (1); # HTTP要求を送信 print SOCKET "GET $_path HTTP/1.1\n"; print SOCKET "Host: $_host\n"; print SOCKET "Connection: close\n\n"; # HTTP応答を受信 while (<SOCKET>) { last if(/^\n$/); } while (<SOCKET>) { push @list, "$&" if(m!(http\:[\w\.\~\-\/\?\&\+\=\:\@\%\;\#\%]+)!); } } 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch