繁体   English   中英

HTTP URL重定向状态代码

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM