5

I was trying to use http unit to read response header for my application -

WebClient webClient = new WebClient();
WebClient.setThrowExceptionOnScriptError(false);
HtmlPage currentPage = webClient.getPage("http://myapp.com");
WebResponse response = currentPage.getWebResponse();
System.out.println(response.getResponseHeaders());  

I do get to see the response headers but they are limited to only first http get request. When I used LiveHTTPHeaders plugin for firefox plugin I got to all the get requests and corresponding header responses.

Is there any way to get http header for all subsequent requests and not being limited to just first get?

Rodney Gitzel
  • 2,652
  • 16
  • 23
Tarun
  • 3,456
  • 10
  • 48
  • 82

3 Answers3

7
List<NameValuePair> response =currentPage.getWebResponse().getResponseHeaders();
for (NameValuePair header : response) {
     System.out.println(header.getName() + " = " + header.getValue());
 }

works fine for me.

agillgilla
  • 859
  • 1
  • 7
  • 22
Birhanu Eshete
  • 372
  • 3
  • 10
2

Here is a concise example displaying all the headers from a response with HTMLUnit:

WebClient client = new WebClient();
HtmlPage page = client.getPage("http://www.example.com/");
WebResponse response = page.getWebResponse();

for (NameValuePair header : response.getResponseHeaders()) {
    System.out.println(header.getName() + " : " + header.getValue());
}
fijiaaron
  • 5,015
  • 3
  • 35
  • 28
1

AFAIK, this should work:

WebClient webClient = new WebClient();
WebClient.setThrowExceptionOnScriptError(false);
HtmlPage currentPage = webClient.getPage("http://myapp.com");
WebResponse response = currentPage.getWebResponse();
System.out.println(response.getResponseHeaders());
// And even in subsequent requests
currentPage = webClient.getPage("http://myapp.com");
response = currentPage.getWebResponse();
System.out.println(response.getResponseHeaders());

Does this code work? If it does, then you are probably not properly assigning the currentPage variable so it keeps holding the original values.

Mosty Mostacho
  • 42,742
  • 16
  • 96
  • 123