【发布时间】:2016-06-14 18:38:18
【问题描述】:
我有这个错误:
Volley: [8918] BasicNetwork.performRequest: Unexpected response code 403 for
我正在尝试连接服务器,但我无法检索任何内容。当我在 localhost 服务器中尝试时,它运行良好。
【问题讨论】:
-
在这里发布您的代码,以便我们找到更好的解决方案。
我有这个错误:
Volley: [8918] BasicNetwork.performRequest: Unexpected response code 403 for
我正在尝试连接服务器,但我无法检索任何内容。当我在 localhost 服务器中尝试时,它运行良好。
【问题讨论】:
解决方案对我有用:
检查链接是否在浏览器中有效。
如果是,则将 Header User-Agent: "Mozilla/5.0" 添加到您的请求中。 Sending header example in Stackoverflow
对不起我的英语不好
【讨论】:
在 C:\wamp64\bin\apache\apache2.4.23\conf\extra\httpd-vhosts.conf 中
改变
require local
到
Require all granted
【讨论】:
403 Forbidden 错误是一个 HTTP 状态代码,这意味着出于某种原因绝对禁止访问您尝试访问的页面或资源。
确保您访问的是正确的网址。
【讨论】:
我也遇到了同样的问题,我通过更改方法名称解决了这个问题。以前我尝试使用 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);
【讨论】:
如果您需要,这是用于标题
@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;
}
希望对你有帮助
【讨论】:
当我在 Android Studio 的内置模拟器上运行我的应用程序时出现此错误。但是当我更换模拟器并使用 Genymotion 时,问题解决了,应用程序运行没有任何错误。
【讨论】: