android - 使用 Volley 使用 StringRequest 时出现 AuthFailure 错误
问题描述
我发送 Volley StringRequest 如下
StringRequest getRequest = new StringRequest(Request.Method.GET, myUrl,
new Response.Listener<String>()
{
@Override
public void onResponse(String response) {
try {
if (response!=null)
{
//do some work
}
}
catch (Exception e)
{
Log.d("error",e.getMessage());
}
}
},
new Response.ErrorListener()
{
@Override
public void onErrorResponse(VolleyError error) {
// TODO Auto-generated method stub
Log.d("error",error.toString());
}
}
) {
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
String token = "",cookie="";
token = getSharedPreferences(getResources().
getString(R.string.pref_login_data), Context.MODE_PRIVATE)
.getString("login_token","");
cookie = "token="+token+";";
Map<String, String> param = new HashMap<String, String>();
param.put("api-key", myAPIKey);
param.put("Cookie", cookie);
return param;
}
};
Volley.newRequestQueue(this).add(getRequest);
每次调用 onErrorResponse 都会给出 AuthFailure Error
但是当我在邮递员中点击具有相同标题的相同网址时,它可以工作并返回 json 字符串邮递员的屏幕截图如下:
我正在努力解决这个问题超过 3 天,任何帮助将不胜感激
解决方案
只需将 Request.Method.GET 更改为 Request.Method.POST。
因为你是通过 POST 方法发送参数,但是你使用了 Get 方法!
推荐阅读
- mysql - 计算某个标准在每个月的总数中所占的份额
- angular - 类型“”不可分配给类型“JwtConfig”
- javascript - 工厂函数原型
- kotlin - 如何使用 Kotlin Flows 轮询资源并发出它?
- javascript - 带网格的 HTML 画布光标
- oracle - 设置定义关闭验证关闭不在飞行路线中工作
- excel - VBA在运行时更改excel代码并执行它
- azure-devops - 如何添加带有拆分板列数据的小部件?
- java - 在 Docker 中,Spring Boot 数据库连接不起作用
- python - 如何使用python根据列的条件总和从大型csv文件创建多个批处理文件