3

我想通过此代码获取响应标头中位置的值

HttpGet getRequest = null;
CloseableHttpResponse response = null;
getRequest = new HttpGet("https://wl-prod.sabresonicweb.com/SSW2010/B3QE/webqtrip.html?searchType=NORMAL&journeySpan=RT&origin=SGN&destination=DAD&departureDate=2016-01-31&returnDate=2016-02-01&numAdults=2&numChildren=0&numInfants=0&alternativeLandingPage=true&promoCode=&lang=vi_VN");
getRequest.setHeader("Host", "wl-prod.sabresonicweb.com");
getRequest.setHeader("User-Agent", defaultUserAgent);
getRequest.setHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
getRequest.setHeader("Accept-Language", "en-US,en;q=0.5");
getRequest.setHeader("Accept-Encoding", "gzip, deflate");
getRequest.setHeader("Referer", "http://vietnamairlines.com/");
getRequest.setHeader("Connection", "keep-alive");

response = httpClient.execute(getRequest, context);
Header[] headers = response.getAllHeaders();
for (Header header : headers) {
    System.out.println("Key : " + header.getName() 
          + " ,Value : " + header.getValue());
}

但是,我收到的结果是:

键:缓存控制,值:无缓存键:过期,值:星期四,1970 年 1 月 1 日 00:00:00 GMT 键:X-FRAME-OPTIONS,值:SAMEORIGIN 键:杂注,值:无缓存键: Cache-Control ,Value : no-store Key : Content-Type ,Value : text/html;charset=UTF-8 Key : Transfer-Encoding ,Value : chunked Key : Vary ,Value : Accept-Encoding 键: Date ,Value : 2015 年 12 月 5 日星期六 08:36:16 GMT 密钥:服务器,值:

当我使用 Fiddler 时,我可以像这样获取 Location Response Header 的值:

HTTP/1.1 302 Found
Cache-Control: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
X-FRAME-OPTIONS: SAMEORIGIN
Pragma: no-cache
Cache-Control: no-store
Location: https://wl-prod.sabresonicweb.com/SSW2010/B3QE/webqtrip.html?execution=e2s1
Content-Length: 0
Date: Sat, 05 Dec 2015 08:00:30 GMT
Server: 

如何通过 HttpClient Get 方法获取响应标头中位置的值?

4

0 回答 0