Android排球代码400 [英] Android Volley code 400
问题描述
我试图将数据发布到网站。这是登录操作。我检查表单数据隐藏标签等。在表单数据中有一个隐藏的输入_RequestVerificationToken。这就是为什么首先,我提出了请求来解析_RequestVerificationToken和头文件。
StringRequest _StringRequest = new StringRequest(Request.Method.GET,url,$ b $ new Response.Listener< String>( ){
@Override
public void onResponse(String response){
//解析过程
}
},
Response.ErrorListener(){
@Override
public void onErrorResponse(VolleyError error){
error.printStackTrace();
}
}
)
{
@Override
受保护的响应< String> parseNetworkResponse(NetworkResponse响应){
headers = response.headers;
返回super.parseNetworkResponse(response);
}
};
毕竟我使用参数和标题发布了请求:
@Override
public Map< String,String> getParams()
{
Map< String,String> params = new HashMap<>();
// POST参数:
params.put(Password,password);
params.put(RememberMe,false);
params.put(ReturnUrl,url_post);
params.put(UserName,username);
params.put(name,_RequestVerificationToken);
返回参数;
}
@Override
public Map< String,String> getHeaders()抛出AuthFailureError {
返回头文件;
}
我通过在chrome中使用fiddler扩展来检查表单数据。我检查参数一次又一次,但它返回代码400.你能告诉我什么是问题吗?
与这个课程,我补充说: CookieManager cookieManager =新的CookieManager(新的PersistentCookieStore(this),CookiePolicy.ACCEPT_ORIGINAL_SERVER);
CookieHandler.setDefault(cookieManager);
在将请求添加到队列之前
I'm trying to post data to website. It is login operation. I check form data hidden tag etc. In form data there is a hidden input _RequestVerificationToken. That's why first, I made get request to parse _RequestVerificationToken and for headers.
StringRequest _StringRequest = new StringRequest(Request.Method.GET, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
//Parsing Process
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
}
}
)
{
@Override
protected Response<String> parseNetworkResponse(NetworkResponse response) {
headers=response.headers;
return super.parseNetworkResponse(response);
}
};
After all i made post request with parameters and headers:
@Override
public Map<String, String> getParams()
{
Map<String, String> params = new HashMap<>();
// the POST parameters:
params.put("Password", password);
params.put("RememberMe", "false");
params.put("ReturnUrl", url_post);
params.put("UserName",username);
params.put(name,_RequestVerificationToken);
return params;
}
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
return headers;
}
I check form data by using fiddler extension in chrome. I checked parameters again and again but it returned code 400. Can you show me what is the problem?
I solve the problem with this class and I added this:
CookieManager cookieManager = new CookieManager(new PersistentCookieStore(this), CookiePolicy.ACCEPT_ORIGINAL_SERVER);
CookieHandler.setDefault(cookieManager);
before add request to queue
这篇关于Android排球代码400的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!