0
final WebClient webClient = new WebClient();
final HtmlPage page = webClient.getPage(webPageURL);

        final String pageAsXml = page.asXml();
        final String pageAsText = page.asText();


        List <NameValuePair> response = page.getWebResponse().getResponseHeaders();
        for (NameValuePair header : response) {
            log.info(header.toString() + " = " + header.getValue());

Web ページが複数のヘッダーを返します。ただし、ログには最初のヘッダーのみが表示されます。残りのヘッダーを取得するにはどうすればよいですか? 私が探しているヘッダーはコンテンツ タイプです: application/javascript;charset=ISO-8859-1

Web ページは内部 Web ページです。

4

1 に答える 1

0

あなたが提供したコードは私のために働いています。実際、header.toString()forを置き換えましたheader.getName()

final WebClient webClient = new WebClient();
final HtmlPage page = webClient.getPage("http://www.debian.org");
List<NameValuePair> response = page.getWebResponse().getResponseHeaders();
for (NameValuePair header : response) {
    System.out.println(header.getName() + " = " + header.getValue());
}

出力は次のとおりです。

日付 = 2013 年 8 月 22 日木曜日 19:48:54 GMT
サーバー = アパッチ
コンテンツの場所 = index.en.html
Vary = ネゴシエート、受け入れ言語、受け入れエンコード
TCN = 選択
最終更新日 = 2013 年 8 月 22 日木曜日 15:31:17 GMT
ETag = "3887-4e48afb257b40"
Accept-Ranges = バイト
キャッシュ制御 = max-age=86400
有効期限 = 2013 年 8 月 23 日金曜日 19:48:54 GMT
コンテンツ エンコーディング = gzip
コンテンツの長さ = 4605
キープアライブ = タイムアウト = 15、最大 = 100
接続 = キープアライブ
コンテンツ タイプ = テキスト/html
Content-Language = en

ご覧のとおり、Content-Typeヘッダーがあります。サーバーが実際にそのデータを送信していることを確認できますか (これは一般的なヘッダーであるため、送信する必要があります)。

于 2013-08-22T19:52:36.767 に答える