做模拟登录,post后通过用户名密码验证了但是返回问题是这个URL是存在的!
哪位大神帮忙看一下!谢谢!
代码:
已经能确定encoded是正确的了!问题就在这个URL是可以访问的但是报404!
报错的URL:
http://jwxt.qlu.edu.cn/jsxsd/framework/xsMain.jspRequestBody body = new FormBody.Builder().add("encoded", encoded).build();                Request request = new Request.Builder().post(body)
//                        .addHeader("Referer","http://jwxt.qlu.edu.cn/jsxsd/xk/null/logout")
                        .url("http://jwxt.qlu.edu.cn/jsxsd/xk/LoginToXk").build();                try {
                    String s;
                    Response response = client.newCall(request).execute();
                    Log.d("ss",response+"");                } catch (IOException e) {
                    e.printStackTrace();
                }

解决方案 »

  1.   

    错误原因execute()用于异步回调,不能放在主线程中,
    方法一:
    new Thread(new Runnable() { @Override
    public void run() {
    try {
        RequestBody body = new FormBody.Builder().add("encoded", encoded).build();                 Request request = new Request.Builder().post(body)
    //                         .addHeader("Referer","http://jwxt.qlu.edu.cn/jsxsd/xk/null/logout")
                            .url("http://jwxt.qlu.edu.cn/jsxsd/xk/LoginToXk").build();
                    try {
                        String s;
                        Response response = client.newCall(request).execute();
                        Log.d("ss",response+"");                 } catch (IOException e) {
                        e.printStackTrace();
                    }
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
    }).start();方法二:
    RequestBody body = new FormBody.Builder().add("encoded", encoded).build();
    Request request = new Request.Builder().post(body)
    // .addHeader("Referer","http://jwxt.qlu.edu.cn/jsxsd/xk/null/logout")
    .url("http://jwxt.qlu.edu.cn/jsxsd/xk/LoginToXk").build(); client.newCall(request).enqueue(new Callback() { @Override
    public void onResponse(Call arg0, Response response)
    throws IOException {
    // TODO Auto-generated method stub
    Log.d("ss", response + "");
    } @Override
    public void onFailure(Call arg0, IOException arg1) {
    // TODO Auto-generated method stub
    Log.d("ss", arg1 + "");
    }
    });另外你可以下载我写的这个DEMO看看http://download.csdn.net/download/xj396282771/9884999