我给的网址被重定向。当我用某个浏览器点击网址时,它会重定向到另一个网站。当我在一些休息客户端测试它时,我得到http代码302,这对于重定向是正确的。但我尝试使用下面的代码相同,它返回200.有人可以帮助我吗?在此先感谢。 更新的网址。
try {
URL url = new URL("https://securestore.hbo.com/cart.php?f=pplogin&ppx=1&method=checkout");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.connect();
int code = connection.getResponseCode();
System.out.println(connection.getResponseMessage());
System.out.println("code is" + code);
connection.disconnect();
}
catch (MalformedURLException e) {
e.printStacTrace();
}
catch (IOException e) {
e.printStackTrace();
}
答案 0 :(得分:0)
如果将url1重定向到url2,那么您将获得302状态。但是,如果您的代码是直接调用url2,那么您必然会获得200。
答案 1 :(得分:0)
请尝试以下代码。
import javax.microedition.io.Connector;
import javax.microedition.io.HttpConnection;
.....
connection = (HttpConnection)Connector.open(url);
responseCode = connection.getResponseCode();
答案 2 :(得分:0)
默认情况下,HttpURLConnection将遵循重定向。
如果您不想遵循重定向,请尝试设置以下内容:
HttpURLConnection.setFollowRedirects(false);
例如,关于您的代码:
try {
URL url = new URL("");
HttpURLConnection.setFollowRedirects(false);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.connect();
int code = connection.getResponseCode();
System.out.println(connection.getResponseMessage());
System.out.println("code is" + code);
connection.disconnect();
}
catch (MalformedURLException e) {
e.printStacTrace();
}
catch (IOException e) {
e.printStackTrace();
}
答案 3 :(得分:0)
尝试使用您想要的302代码添加回复。像connection.setStatus(statusCode)
这样的东西我可能错了。