0

我正在尝试使用 java.net.* 库而不是直接使用套接字来捕获具有 301 状态代码的 HTTP。但问题是 HttpURLConnection.getResponseCode() 这个方法不返回 301 状态码,而是当它遇到带有 301 状态码的标头时,它会自动在 URL 后放置一个斜杠并重试,显然它会返回 200 状态码,没有任何警告或通知,就像浏览器一样。我想要的是从 HttpURLConnection.getResponseCode() 中看到 301 状态码。这是我的代码:

domain.http_Con = (HttpURLConnection)url.openConnection();
int res = domain.http_Con.getResponseCode();
System.out.print(res);

如果是 301,我只想要 res 301。

ps:我想通过301检测目录。

4

1 回答 1

4

默认情况下,HttpURLConnection将遵循重定向(例如 301)。在连接之前禁用它:

httpCon.setInstanceFollowRedirects(false);
httpCon.connect();
int res = httpCon.getResponseCode(); // should now return 301

参考:

于 2013-07-10T16:45:20.810 回答