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();
大约 2 年之前 回复
kornberg_fresnel
kornberg_fresnel 现在我换成用cookie登录了,当然还是用OkHttp,问题变成这样:我想使用cookie登录,然后携带一份multipart/form-data,使用post方式
大约 2 年之前 回复
kornberg_fresnel
kornberg_fresnel 现在我换成用cookie登录了,当然还是用OkHttp,问题变成这样:我想使用cookie登录,然后携带一份multipart/form-data,使用post方式
大约 2 年之前 回复
sxwws
sxwws   2016.05.13 13:29

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

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

图片说明

sxwws
sxwws 给你个建议把。你用wireshark把你发出去的报文抓出来看一下。是否符合正确的http mulitipart的格式要求。就这么看代码,有时候会比较被动。然后你和正常正确的请求做下对比来分析,并调整代码。
大约 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Android okhttp 三种请求方式 get put post
开发中遇到用okhttp 请求获取数据,刚做完一点,过程中遇到过一些坑,不过现在都解决了,再次记录一下,直接上代码:get方式的请求new Thread() { @Override public void run() { OkHttpClient okHttpClient = new OkHttpClient();
OKHTTP3的简单使用,表单提交,json传递
OKHTTP3的简单使用 使用okhttp3需引入以下依赖 compile 'com.squareup.okio:okio:1.13.0' compile 'com.squareup.okhttp3:okhttp:3.9.0' 1.okhttp GET方式请求 //创建OkHttpClient对象 OkHttpClient
Get和POST表单提交方式详解
1、Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据。 2、Get将表单中数据的按照variable=value的形式,添加到action所指向的URL后面,并且两者使用“?”连接,而各个变量之间使用“&”连接;Post是将表单中的数据放在form的数据体中
OkHttp使用Get和Post两种请求方式
OkHttp使用Get和Post两种请求方式
OkHttp之post请求发送给服务器json
public static final MediaType JSON = MediaType.parse("application/json; charset=utf-8"); public static String MypostJson(String api, Object RequestJsonbean) throws IOException { /**
http的四种请求方法:get, put, post, delete
get、put、post、delete含义与区别 20083人阅读 全文477字 李宁 2014-08-28 14:55 发表于测试?看我的 1、GET请求会向数据库发索取数据的请求,从而来获取信息,该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改、增加数据,不会影响资源的内容,即该请求不会产生副作用。无论进行多少次操作,结果都是一样的。
Android okHttp 实战(一):okHttp网络请求之Get/Post请求
原文地址:http://www.cnblogs.com/whoislcj/p/5526431.html  okHttp、volley、android-async-http对比: volley是一个简单的异步http库,仅此而已。缺点是不支持同步,这点会限制开发模式;不能post大数据,所以不适合用来上传文件android-async-http。与volley一样是异步网络库,但voll
提交表单--get与post方式
我们经常在网页上输入信息,然后通过按钮提交,有两种提交方式,get和post get方式效率高但安全性低,post是封装后进行提交安全性高。 get方式经常用于搜索,查询   post常用与用户注册登陆等. 提交表单标签: 如下代码实现用户登陆login.jsp   表单会提交到dologin.jsp执行后续操作; login.jsp <% String path = requ
okhttp,get,post,put,delete 请求
public static String doGet(String url){ //创建一个Request final Request request = new Request.Builder() .url(url) .build(); return execute(request);
OkHttp框架 —— GET&POST请求步骤
OkHttp一个处理网络请求的开源项目,是安卓端最火热的轻量级框架,由移动支付Square公司贡献。