利用okHttpClient进行网页数据的提交

**

利用okHttpClient进行网页数据的提交

**

以QQ邮箱为例
利用okHttpClient进行网页数据的提交_第1张图片
用谷歌浏览器,按f12,打开网络控制台,找Network,给Preserve log 勾上
然后填写用户名,密码登录邮箱。
控制台会显示一些数据。
在这里插入图片描述
request URL 就是你要提交数据请求成功后的地址,也就是你okhttpClient需要请求的Url.执行这个请求的是Post请求。
在这里插入图片描述
查看你请求的Content-Type
利用okHttpClient进行网页数据的提交_第2张图片
Form Data 就是你要提交的数据。

下面是代码展示:
requestBody.add 添加的就是Form Data 里面的数据
cookie 当你登录成功,从reponse.getHeaders()获取

OkHttpClient okHttpClient = new OkHttpClient();
            RequestBody requestBody = new FormBody.Builder()
                    .add("sid", "")
                    .build();
            Request request = new Request.Builder()
                    .url("")
                    .addHeader("Content-Type", "application/x-www-form-urlencoded")
                    .addHeader("cookie", cookie)
                    .post(requestBody)
                    .build();

            okHttpClient.newCall(request).enqueue(new Callback() {
                @Override
                public void onFailure(Call call, IOException e) {
                    logger.info("failed");
                }

                @Override
                public void onResponse(Call call, Response response) throws IOException {
                    logger.info(response.protocol() + " " + response.code() + " " + response.message());
                    Headers headers = response.headers();
                    for (int i = 0; i < headers.size(); i++) {
                        logger.info(headers.name(i) + ":" + headers.value(i));
                    }
                }
            });

你可能感兴趣的:(Java)