用重定向模拟HttpResponse

时间:2018-02-07 17:06:50

标签: java apache

如何创建org.apache.http.HttpResponse对象,该对象看起来像是返回301 MOVED_PERMANENTLY的网页的响应。

最重要的 - 在哪里放置重定向网址?

我正在测试网络抓取应用。我已经为我的HttpClient创建了模拟,我想在其中创建响应,模拟将网页重定向时将返回的响应,例如从http到https或其他域。

例如200 OK我用这种方式创建响应:

private  ProtocolVersion http11 = new ProtocolVersion("HTTP", 1, 1);
private  StatusLine HTTP_200_OK = new BasicStatusLine(http11, response.Status.OK.getStatusCode(), Response.Status.OK.getReasonPhrase());
BasicHttpResponse response = new BasicHttpResponse(HTTP_200_OK);

但我有问题在哪里放置重定向网址。

1 个答案:

答案 0 :(得分:1)

重定向网址包含在Http标头(HttpResponse res = new BasicHttpResponse (new BasicStatusLine(HttpVersion.HTTP_1_1, HttpStatus.SC_MOVED_PERMANENTLY, ""); res.setHeader(HttpHeaders.LOCATION, "http://some.new/url"); )中,因此根据HttpResponse api文档,我认为这非常简单:

(x <- c(7.2, 8.6, 9.1, 9.5, 10.9, 10.9, 11.1, 11.5, 11.7,
        11.9, 11.9, 12.7, 12.9, 13.9, 14.1, 14.5, 14.7))
#>  [1]  7.2  8.6  9.1  9.5 10.9 10.9 11.1 11.5 11.7 11.9 11.9 12.7 12.9 13.9 14.1 14.5
#> [17] 14.7
(qjx <- c(6.12, 7.90, 8.85, 9.30, 10.20, 10.90, 11.00, 11.30, 11.60,
          11.80, 11.90, 12.30, 12.80, 13.40, 14.00, 14.30, 14.60, 17.42))
#>  [1]  6.12  7.90  8.85  9.30 10.20 10.90 11.00 11.30 11.60 11.80 11.90 12.30 12.80
#> [14] 13.40 14.00 14.30 14.60 17.42

(rjx <- c(1.78, 0.95, 0.45, 0.9, 0.7, 0.1, 0.3, 0.3,
          0.2, 0.1, 0.4, 0.5, 0.6, 0.6, 0.3, 0.3, 2.82))
#>  [1] 1.78 0.95 0.45 0.90 0.70 0.10 0.30 0.30 0.20 0.10 0.40 0.50 0.60 0.60 0.30 0.30
#> [17] 2.82