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

使用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个回答

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

qq_28486595
沉寂chenji 怎样参看post请求的隐藏参数?
大约 4 年之前 回复

你代码上写的可是GET,不是Post,能返回,说明是通的,只是一些小细节的问题,再看看

开始是用post,后来改了很多次,又有人叫我换get试试,没注意改就发上来了

改了试了很多次,都是登不进去

你多打几个Log看看错在哪里

qq_28486595
沉寂chenji 没啥报错,就是进不去
大约 4 年之前 回复

你返回的是html界面??

qq_28486595
沉寂chenji 回复Jack-sen: 这是我们学校的图书馆管理系统,我只是一个学生
大约 4 年之前 回复
crazy1235
月盡天明 不明白你为什么这样处理。与服务器交互的时候一般都是服务器返回你结果,app端做处理。
大约 4 年之前 回复
qq_28486595
沉寂chenji 是html,还没处理数据
大约 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!