是否可以使用 HttpClient 从 URL 捕获完整的重定向历史记录?
例如,我们有 URL-A 重定向到 URL-B,最终将我们发送到 URL-C,有没有办法捕获 URL A、B 和 C 是什么?
最明显的选择是手动查找标头中的位置标记,并在达到 HTTP 200 时停止。这不是一个简单的过程,因为我们需要查找循环重定向等...
现在我假设以下内容:
HttpContext context = new BasicHttpContext();
HttpResponse response = hc.execute(httpget, context);
//.....
for(URI u : ((RedirectLocations)context.getAttribute(DefaultRedirectStrategy.REDIRECT_LOCATIONS)).getAll()){
System.out.println(u);
}
将适用于这个用例吗?