GET /unko2ch2000/ HTTP/1.0
Host: blog.goo.ne.jp
HTTP/1.1 200 OK
Date: Fri, 10 Dec 2004 08:40:19 GMT
Server: Apache
Set-Cookie: BLOGTracking=61.125.216.17.1102668019394608; path=/; expires=Mon, 08
-Dec-14 08:40:19 GMT; domain=.blog.goo.ne.jp
X-Powered-By: PHP/4.3.8
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Connection: close
Content-Type: text/html
(略)
というのを
socket(SOCKET,2,1,0);
connect(SOCKET,$name);
print SOCKET "GET /unko2ch2000/ HTTP/1.0";
なんて書いてやるものいいけどもっと簡単な方法を・・・
(とここまで投げやりなのは使い方を理解してないからだったりw)
system("wget $url");
ってやってファイルから読み込むのが一番簡単か?w
はい,まじめに行きます.
参考ページ:http://www.sea-bird.org/doc/Solaris8/Perl_4.html
使うのはLWP::UserAgentとHTTP::Requestかな?
下記の手順でインストールしてくださいな
wget http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/libwww-perl-5.802.tar.gz
tar zxvf libwww-perl-5.802.tar.gz
cd libwww-perl-5.802
perl Makefile.PL
(質問はすべてデフォルトでOK)
make
make install
wget http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/URI-1.35.tar.gz
tar zxvf URI-1.35.tar.gz
cd URI-1.35
perl Makefile.PL
make
make install
wget http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/HTML-Parser-3.42.tar.gz
tar zxvf HTML-Parser-3.42.tar.gz
cd HTML-Parser-3.42
perl Makefile.PL
make
make install
ソースコードの例はhttp://www.sea-bird.org/doc/Solaris8/Perl_4.htmlを見てもらうとして
$res->code;でステータスコード
$res->content;でコンテンツの内容が見れたりします
さて,ここでgzip圧縮を使いたいと思うわけですが
$request->accept_encoding('gzip');を指定するのかな?
ということで本題.まず,gzipを使うために下記をインストール
wget http://search.cpan.org/CPAN/authors/id/P/PM/PMQS/Compress-Zlib-1.33.tar.gz
tar zxvf Compress-Zlib-1.33.tar.gz
cd Compress-Zlib-1.33
perl Makefile.PL
make
make install
my $res = $ua->request($req);の直前に$req->header('ACCEPT_ENCODING'=>'gzip');を追加
my $res = $ua->request($req);の直後に下記を追加
if($out =~ /^\x1f\x8b\x08/s and $res->header('Content-Encoding') =~ /gzip/i){#
$out = Compress::Zlib::memGunzip($out);
}
終わりw
Host: blog.goo.ne.jp
HTTP/1.1 200 OK
Date: Fri, 10 Dec 2004 08:40:19 GMT
Server: Apache
Set-Cookie: BLOGTracking=61.125.216.17.1102668019394608; path=/; expires=Mon, 08
-Dec-14 08:40:19 GMT; domain=.blog.goo.ne.jp
X-Powered-By: PHP/4.3.8
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Connection: close
Content-Type: text/html
(略)
というのを
socket(SOCKET,2,1,0);
connect(SOCKET,$name);
print SOCKET "GET /unko2ch2000/ HTTP/1.0";
なんて書いてやるものいいけどもっと簡単な方法を・・・
(とここまで投げやりなのは使い方を理解してないからだったりw)
system("wget $url");
ってやってファイルから読み込むのが一番簡単か?w
はい,まじめに行きます.
参考ページ:http://www.sea-bird.org/doc/Solaris8/Perl_4.html
使うのはLWP::UserAgentとHTTP::Requestかな?
下記の手順でインストールしてくださいな
wget http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/libwww-perl-5.802.tar.gz
tar zxvf libwww-perl-5.802.tar.gz
cd libwww-perl-5.802
perl Makefile.PL
(質問はすべてデフォルトでOK)
make
make install
wget http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/URI-1.35.tar.gz
tar zxvf URI-1.35.tar.gz
cd URI-1.35
perl Makefile.PL
make
make install
wget http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/HTML-Parser-3.42.tar.gz
tar zxvf HTML-Parser-3.42.tar.gz
cd HTML-Parser-3.42
perl Makefile.PL
make
make install
ソースコードの例はhttp://www.sea-bird.org/doc/Solaris8/Perl_4.htmlを見てもらうとして
$res->code;でステータスコード
$res->content;でコンテンツの内容が見れたりします
さて,ここでgzip圧縮を使いたいと思うわけですが
$request->accept_encoding('gzip');を指定するのかな?
ということで本題.まず,gzipを使うために下記をインストール
wget http://search.cpan.org/CPAN/authors/id/P/PM/PMQS/Compress-Zlib-1.33.tar.gz
tar zxvf Compress-Zlib-1.33.tar.gz
cd Compress-Zlib-1.33
perl Makefile.PL
make
make install
my $res = $ua->request($req);の直前に$req->header('ACCEPT_ENCODING'=>'gzip');を追加
my $res = $ua->request($req);の直後に下記を追加
if($out =~ /^\x1f\x8b\x08/s and $res->header('Content-Encoding') =~ /gzip/i){#
$out = Compress::Zlib::memGunzip($out);
}
終わりw