【问题标题】:BasinNetwork.performRequest results "Unexpected response code 403 for"BasinNetwork.performRequest 结果“意外的响应代码 403”
【发布时间】:2016-06-14 18:38:18
【问题描述】:

我有这个错误:

Volley: [8918] BasicNetwork.performRequest: Unexpected response code 403 for

我正在尝试连接服务器,但我无法检索任何内容。当我在 localhost 服务器中尝试时,它运行良好。

【问题讨论】:

  • 在这里发布您的代码,以便我们找到更好的解决方案。

标签: android android-volley


【解决方案1】:

解决方案对我有用:
检查链接是否在浏览器中有效。
如果是,则将 Header User-Agent: "Mozilla/5.0" 添加到您的请求中。 Sending header example in Stackoverflow
对不起我的英语不好

【讨论】:

    【解决方案2】:

    在 C:\wamp64\bin\apache\apache2.4.23\conf\extra\httpd-vhosts.conf 中

    改变

    require local
    

    Require all granted
    

    【讨论】:

      【解决方案3】:

      403 Forbidden 错误是一个 HTTP 状态代码,这意味着出于某种原因绝对禁止访问您尝试访问的页面或资源。

      确保您访问的是正确的网址。

      【讨论】:

      • 嗨我使用正确的 url 因为我试图在浏览器中加载它并且它工作正常但是当我从 android 应用程序访问它时我的朋友告诉我放标题但我不知道放什么在标题中
      【解决方案4】:

      我也遇到了同样的问题,我通过更改方法名称解决了这个问题。以前我尝试使用 POST 方法调用 Web 服务,我已更改为 GET 方法,然后我的问题解决了。通过更改请求方法尝试此解决方案。

      StringRequest stringRequest = new StringRequest(Request.Method.GET, "YOUR_WEBSERVICE_URL",
          new Response.Listener<String>() {
              @Override
              public void onResponse(String response){}
          },
          new Response.ErrorListener() {
               @Override
               public void onErrorResponse(VolleyError volleyError) {}
          }) {
      
          @Override
          protected Map<String, String> getParams()
          {
              Map<String, String> params = new HashMap<String, String>();
      
              return params;
          }
      };
      stringRequest.setRetryPolicy(new DefaultRetryPolicy(60000,DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
      RequestQueue requestQueue = Volley.newRequestQueue(getActivity());
      requestQueue.add(stringRequest);
      

      【讨论】:

        【解决方案5】:

        如果您需要,这是用于标题

        @Override
        public Map<String, String> getHeaders() throws AuthFailureError {
            Map<String, String> params = new HashMap<String, String>();
            params.put("Content-Type", "application/json; charset=UTF-8");
            params.put("Access Token", token);
            return params;
        }
        

        希望对你有帮助

        【讨论】:

          【解决方案6】:

          当我在 Android Studio 的内置模拟器上运行我的应用程序时出现此错误。但是当我更换模拟器并使用 Genymotion 时,问题解决了,应用程序运行没有任何错误。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-01-30
            • 2018-05-16
            • 2014-09-21
            • 1970-01-01
            相关资源
            最近更新 更多