我想要用okhttp抓取一个网址登陆后的页面内容,不需要其他操作,只需要网页的内容
网址:http://alstu.nau.edu.cn
Request中的post该怎么写?RequestBody该怎么写?
我的写法如下,但是抓不到,一直都是登陆界面OkHttpClient client=new OkHttpClient();
                    RequestBody requestBody=new FormBody.Builder()
                            .add("username","")
                            .add("password","")
                            .build();
                    Request request=new Request.Builder()
                            .url("http://alstu.nau.edu.cn")
                            .post(requestBody)
                            .build();

解决方案 »

  1.   

    你需要加个网络权限 <uses-permission android:name="android.permission.INTERNET" />,另外乱码问题你自己解决一下
    FormBody.Builder builder = new FormBody.Builder();
    RequestBody formBody = builder.build();
    Request request = new Request.Builder()
    .url("http://alstu.nau.edu.cn").post(formBody).build(); if (request != null) {
    Call call = new OkHttpClient.Builder().build().newCall(request);
    call.enqueue(new Callback() { @Override
    public void onResponse(Call call, Response response)
    throws IOException { String html = new String(response.body().string()
    .toString().getBytes("utf-8")); // response.body().string()这个屌方法执行次数不能大于1次 } @Override
    public void onFailure(Call call, IOException e) {
    Log.d("请求异常", e.toString());
    }
    });
    }