[英]HTTP URL redirect status code
我提供的网址被重定向。 当我使用某些浏览器访问该URL时,它将重定向到另一个站点。 当我在一些其他客户端中对其进行测试时,我得到的是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();
}
如果将url1重定向到url2,那么您将获得302状态。 但是,如果您的代码直接调用url2,则注定会得到200。
请尝试以下代码。
import javax.microedition.io.Connector;
import javax.microedition.io.HttpConnection;
.....
connection = (HttpConnection)Connector.open(url);
responseCode = connection.getResponseCode();
默认情况下,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();
}
尝试添加带有所需302代码的响应。 像connection.setStatus(statusCode)
类的东西我可能是错的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.