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());

网页返回多个标题。但是日志只显示第一个标题。我如何获得其余的标题?我正在寻找的标题是内容类型:application/javascript;charset=ISO-8859-1

该网页是内部网页。

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
变化 = 协商、接受语言、接受编码
TCN = 选择
最后修改时间 = 2013 年 8 月 22 日星期四 15:31:17 GMT
ETag = "3887-4e48afb257b40"
接受范围 = 字节
缓存控制 = max-age=86400
过期 = 2013 年 8 月 23 日星期五 19:48:54 GMT
内容编码 = gzip
内容长度 = 4605
保活 = 超时 = 15,最大值 = 100
连接 = 保持活动状态
内容类型 = 文本/html
内容语言 = zh

如您所见,Content-Type标题在那里。您能否确认服务器实际上正在发送那段数据(它是一个常见的标头,所以它应该)。

于 2013-08-22T19:52:36.767 回答