こんばんは。初めて投稿します。 socketで、HTTP の取得を行うプログラムを作成しています。 取得はできたのですが、どうしても取得したデータに、 ゴミデータがまざります。 e05,5d,5, など、ランダムな数値です。 HTMLのタグ括りの中にも、外にも存在しますが、 タグ内には無いようでした。 他の諸センパイ方の情報も参考にさせていただいておりますが、 どうも、有力な手がかりがありませんでした。 何卒、ご教示いただけますでしょうか。 以下、プログラムの抜粋です。 -- $ip = inet_aton($host) || die "NG.\n"; $sockaddr = pack_sockaddr_in($port, $ip); $proto = getprotobyname('tcp'); socket(SOCKET, PF_INET, SOCK_STREAM, $proto) || die "NG.\n"; connect(SOCKET, $sockaddr) || die "NG.\n"; autoflush SOCKET (1); if ($http eq '1.1') { print SOCKET "GET $url HTTP/1.1\n"; print SOCKET "Host: $host\n"; print SOCKET "Connection: close\n"; } else { print SOCKET "GET $url HTTP/1.0\n"; } print SOCKET "Accept: text/html; */*\n"; print SOCKET "\n"; my($op_all) = ''; while (chomp($buf=<SOCKET>)) { $op_all .= $buf; } close(SOCKET); |