2 kornberg fresnel kornberg_fresnel 于 2016.05.09 14:41 提问

OkHttp如何对get方式获取的网页使用post方式发送表单数据?

我先使用一个get方式获获取了一个网页response,接下来我想用post方法对这个网页传递参数,要怎么锁

3个回答

sxwws
sxwws   2016.05.10 10:13

你描述的2个过程,是没有关系的。向一个网站传递参数,你不用首先get下来获取响应,你获得的东西只是一个静态的内容。

你想用计算机模拟你和网站的交互,你需要正常模拟你访问这个网站,填好数据,并提交,录制下你实际提交出去的数据,然后用okhttp来编程完全模拟,就可以了。

kornberg_fresnel
kornberg_fresnel 现在我换成用cookie登录了,当然还是用OkHttp,问题变成这样:我想使用cookie登录,然后携带一份multipart/form-data,使用post方式提交表单,但是却没有成功,代码如下,这是什么原因:Request request = new Request.Builder() .url("http://192.168.1.1/cgi-bin/luci/" + stoke + "/admin/guide/") .header("Connection", "keep-alive") .addHeader("Cookie", cookie) .addHeader("Content-Type", "multipart/form-data; boundary=----WebKitFormBoundaryz75IXwfyGWcd2Uk4") .addHeader("User-Agent", userAgent) .post(requestBody) .build();
一年多之前 回复
kornberg_fresnel
kornberg_fresnel 现在我换成用cookie登录了,当然还是用OkHttp,问题变成这样:我想使用cookie登录,然后携带一份multipart/form-data,使用post方式
一年多之前 回复
kornberg_fresnel
kornberg_fresnel 现在我换成用cookie登录了,当然还是用OkHttp,问题变成这样:我想使用cookie登录,然后携带一份multipart/form-data,使用post方式
一年多之前 回复
sxwws
sxwws   2016.05.13 13:29

你这只是加了cookie。但是post的报文体在哪?没有看见。都拼上去再试试。

kornberg_fresnel
kornberg_fresnel 字太多,我另外用图片评论,你看下
一年多之前 回复
kornberg_fresnel
kornberg_fresnel   2016.05.13 14:11

图片说明

sxwws
sxwws 给你个建议把。你用wireshark把你发出去的报文抓出来看一下。是否符合正确的http mulitipart的格式要求。就这么看代码,有时候会比较被动。然后你和正常正确的请求做下对比来分析,并调整代码。
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!