403从Android应用程序访问web服务时出错

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();

我正在Spring中构建一个简单的Web服务,并从Android访问它

我的web服务在我的浏览器和Android Emulator浏览器中运行良好。但从我的安卓应用程序,我得到403错误

我的应用程序具有Internet权限

这是我的代码:

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不喜欢它。我面对那个问题,花了一段时间才发现。