volley post请求

午后一小憩
  • 2.9k

使用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 不适合用来请求这类型的数据
回复
阅读 3.3k
2 个回答
Toastzz
  • 1
新手上路,请多包涵

首先确认服务端采用的是post还是get
其次,确认那些你没有填写的参数,服务端是否会校验
普通的post请求不需要getHeaders方法

能返回登入错误而不是请求错误,说明已经跑到onResponse中了,是否是参数值传错了还是空参数必须要传?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏