使用volley post 请求 实现网站登入 总是请求返回了登入错误的数据:
RequestQueue mRequestQueue = Volley.newRequestQueue(this);
StringRequest mStringRequest = new StringRequest(Request.Method.POST,url1, new Response.Listener<String>() {
@Override
public void onResponse(String s) {
System.out.println("s------------------------------:" + s.toString());
org.jsoup.nodes.Document doc = Jsoup.parse(s);
String userTeacher = doc.select("span[id=xhxm]").text();
System.out.println("userTeacher:"+userTeacher);
int index = userTeacher.indexOf("老");
if(index!=-1) {
xm = userTeacher.substring(0, index);
System.out.println("xm:" + xm);
i = 1;
}else {
i = 0;
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
System.out.println("请求出错!");
}
}) {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
HashMap<String, String> params = new HashMap<String, String>();
params.put("__VIEWSTATE", "getData()");
params.put("txtUserName", user);
params.put("TextBox2", pass);
params.put("RadioButtonList1", "%BD%CC%CA%A6&");
return params;
}
};
mRequestQueue.add(mStringRequest);
我这里没有重写请求头 getHeaders方法 不知道会不会有影响
还有的params 的空参数我没有传 是否也有影响
还是volley 不适合用来请求这类型的数据
首先确认服务端采用的是post还是get
其次,确认那些你没有填写的参数,服务端是否会校验
普通的post请求不需要getHeaders方法