沉寂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参数那边少了隐藏字段。。。

    评论

报告相同问题?

悬赏问题

  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题