沉寂chenji 2015-10-29 14:32 采纳率: 0%
浏览 1858
已结题

android Volley Post登录时返回登录页面,不能登录进去

使用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:"登录"

哪位大神有时间弄一下,我把账号发过去。

  • 写回答

6条回答

  • 一大三千 2015-10-29 15:24
    关注

    有没有可能post参数那边少了隐藏字段。。。

    评论

报告相同问题?

悬赏问题

  • ¥25 关于##爬虫##的问题,如何解决?:
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型
  • ¥50 buildozer打包kivy app失败
  • ¥30 在vs2022里运行python代码
  • ¥15 不同尺寸货物如何寻找合适的包装箱型谱
  • ¥15 求解 yolo算法问题
  • ¥15 虚拟机打包apk出现错误