403从Android应用程序访问web服务时出错
我正在Spring中构建一个简单的Web服务,并从Android访问它 我的web服务在我的浏览器和Android Emulator浏览器中运行良好。但从我的安卓应用程序,我得到403错误 我的应用程序具有Internet权限 这是我的代码:403从Android应用程序访问web服务时出错,android,Android,我正在Spring中构建一个简单的Web服务,并从Android访问它 我的web服务在我的浏览器和Android Emulator浏览器中运行良好。但从我的安卓应用程序,我得到403错误 我的应用程序具有Internet权限 这是我的代码: protected String doInBackground(String... urls){ String u = urls[0]; HttpClient httpclient = new DefaultHttpClient();
protected String doInBackground(String... urls){
String u = urls[0];
HttpClient httpclient = new DefaultHttpClient();
StringBuilder builder = new StringBuilder();
HttpPost httppost = new HttpPost(u);
System.out.println("URL: " + u);
try {
HttpResponse respuesta = httpclient.execute(httppost);
StatusLine statusLine = respuesta.getStatusLine();
int statusCode = statusLine.getStatusCode();
System.out.println("Status : " + statusCode);
if (statusCode == 200){
HttpEntity entity = respuesta.getEntity();
InputStream contenido = entity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(contenido));
String line;
while ((line = reader.readLine()) != null) {
builder.append(line);
System.out.println("Linea recibida : " + line);
}
}
} catch (Exception e){
System.out.println("Primer catch");
e.printStackTrace();
}
return builder.toString();
}
403响应表示不允许您连接的主机或软件访问web服务。原因可能是: 您正在使用的远程主机正被防火墙阻止 您已达到对web服务的调用限制,它们正在阻止任何进一步的连接 您正在发送身份验证凭据,但该帐户被禁止/禁用 请求中的用户代理或某些其他标头导致服务拒绝连接。也许是缺少标题?
同时共享异常跟踪可以帮助其他人更多。您是否在Spring应用程序上设置了CORSFilter?如果您的url主机名中有uu,您将看到HTTP请求失败并出现奇怪的错误。该URL将在浏览器中工作,但Android HTTP stack不喜欢它。我面对那个问题,花了一段时间才发现。