2012-03-15 34 views
3

ドキュメントのWebサーバに問い合わせています。ドキュメントと関連するサーバレスポンスヘッダ(特にContent-Type:...)を取得したいと思います。私はヘッダーを読む方法を見つけるのが難しいです。Perl LWP :: useragentキャプチャサーバレスポンスヘッダ

use LWP::UserAgent; 
my $ua = LWP::UserAgent->new; 
$ua->agent('requiredCustomUserAgent'); # I'm required to set a custom user agent 
$imageData = $response->content;   # This is the received document 

ので、この時点で私は、Webドキュメントを取得することができますが、私はそれで送られたサーバーにコンテンツタイプかを知りたい:ここに私のPerlスクリプトからいくつかのsnipletsがあり、私は、明確にするためにチェックアウトするエラーを残しました。残念ながら、これは常にbashの 'file'コマンドで見つかったMIMEタイプと同じではありません。このファイルメソッドは、.jsまたは.cssドキュメントの場合に失敗します。

+1

私は答えはhttp://search.cpan.org/~gaas/HTTP-Message-6.03/lib/HTTP/Response.pmとHTTPでなければなりませんと思う://検索.cpan.org /〜gaas/HTTP-Message-6.03/lib/HTTP/Headers.pmでも、$ r-> header($ field => $ value)の情報を読み込む方法が分からないようです。 $ h-> content_type – jippie

答えて

12

http://search.cpan.org/perldoc?HTTP::Response

use LWP::UserAgent; 
my $ua = new LWP::UserAgent; 
my $response = $ua->get("http://google.co.uk"); 

print $response->headers()->as_string; 
print $response->header('content-type'); 
+0

ちょっと注意が必要です。実際には、$ response-> headers-> as_stringは生のレスポンスヘッダを生成すると予想されますが、単純にそうではありません。したがって、この出力には注意が必要です。これは、Set-Cookieの値を見ると特に明らかになります。 – Jacques

関連する問題