使用Volley框架 Post登录时能返回html页面,但现显示的是我尚未登录
代码如下,抓到的post包在下面
public class MainActivity extends Activity {
TextView show;
private String myCookies;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
show = (TextView) findViewById(R.id.show);
show.setMovementMethod(ScrollingMovementMethod.getInstance());
RequestQueue myRequestQueue = Volley.newRequestQueue(this);
StringRequest myStringRequest = new StringRequest(
Request.Method.GET,
"http://202.38.232.10/opac/servlet/opac.go",
new Response.Listener<String>() {
public void onResponse(String response) {
show.setText(response);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
}
}
) {
//设置请求头
public Map<String, String> getHeaders() throws AuthFailureError {
Map<String, String> headers = new HashMap<String, String>();
headers.put("Host","202.38.232.10");
headers.put("User-Agent","Mozilla/5.0 (Windows NT 6.2; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0");
headers.put("Referer","http://202.38.232.10/opac/servlet/opac.go?cmdACT=mylibrary.index");
return headers;
}
//设置登录参数
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new HashMap<String, String>();
params.put("cmdACT","mylibrary.login");
params.put("libcode","");
params.put("method","mylib");
//账号密码是对的
params.put("userid","************");
params.put("passwd","******");
params.put("user_login","登录");
return params;
}
//记录cookies
protected Response<String> parseNetworkResponse(NetworkResponse response) {
Map<String, String> responseHeaders = response.headers;
myCookies = responseHeaders.get("Set-Cookie");
return super.parseNetworkResponse(response);
}
};
myRequestQueue.add(myStringRequest);
}
post请求头
Host: 202.38.232.10
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://202.38.232.10/opac/servlet/opac.go?cmdACT=mylibrary.index
Connection: keep-alive
请求参数
cmdACT:"mylibrary.login"
libcode:""
method:"mylib"
userid:"************"
passwd:"******"
user_login:"登录"
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
有些版本的volley只支持StringRequest,然后参数以getParams形式传入,提交方式为GET,楼主试一下吧,应该可以
“答案来源于网络,供您参考” 希望以上信息可以帮到您!