我的应用程序是一个在线广播,当我尝试将我的应用程序连接到http服务器以获取某些网址时,'httpstatus'返回的是301.但是对于同一个http服务器中的其他网址,它可以完全正常。 我使用的方法:
public InputStream getHttpConnectionStream(String url){
String newUrl= url+getUrlAppend();
StreamConnection streamConnection=null;
InputStream inputStream=null;
InputStream ips = null;
String result="";
try {
streamConnection=(StreamConnection)Connector.open(newUrl,Connector.READ);
HttpConnection httpConnection=(HttpConnection)streamConnection;
httpConnection.setRequestMethod(HttpConnection.POST);
int httpStatus=httpConnection.getResponseCode();
if(httpStatus<HttpConnection.HTTP_OK){ //==HttpConnection.HTTP_OK
inputStream = httpConnection.openInputStream();
ips=inputStream;
return ips;
}
} catch (IOException e) {
}
return ips;
}
这里getUrlAppend()是一个方法,它返回一个特定于应用程序连接到服务器的方式的字符串。如果httpStatus是301,我只得到null InputStream。
如何解决http状态,任何人都可以帮助我吗?
答案 0 :(得分:4)
根据HTTP/1.1 specification,301状态代码表示您尝试查找的项目已永久移动。服务器应该在HTTP响应头中为您提供新位置。您的应用程序需要解析新位置的响应标头并执行到该新位置的新连接。