每当我尝试获取特定 URL 的状态代码时,JSoup 和 HttpConnection 总是返回 200,即使请求 URL 有 301/302 重定向。有没有其他人遇到过类似的问题,获取第一个请求的状态代码应该是什么解决方法?
问问题
569 次
1 回答
0
如果您想查看重定向状态代码,一般策略是关闭自动重定向跟踪。如果您想跟随重定向,您可以自己做......手工......在记下状态代码后。
详细信息将取决于您使用的是什么;例如 HttpUrlConnection、Apache HttpClient v3、Apache HttpClient v4 或其他。
- 使用 HttpUrlConnection,调用
HttpUrlConnection.setFollowRedirects(false)
- 请注意,这是一个static
影响所有未来连接尝试的方法。 - 使用 HttpClient v3,调用
HttpMethod.setFollowRedirects(false)
. - 使用 HttpClient v4,您可以提供自定义
RedirectStrategy
,或使用HttpClientBuilder.disableRedirectHandling()
. - 使用 JSoup,您显然调用了
Connection.followRedirects(false)
.
于 2013-10-16T11:35:57.437 回答