解决post请求接收数据类型为text/html时参数传递的问题
2018-03-24 18:42
991 查看
当我们需要post数据的时候,如果接收方接收的格式是application/json,我们可以按如下所示操作,将数据放入json体中。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201803/533953ce9c4ac53f8607d8a134167703)
如果对方接收格式是text/html要怎么将参数传递过去呢?
之前采取的方式是在将参数写在params中,如下图所示
![](https://oscdn.geek-share.com/Uploads/Images/Content/201803/a96b8eab4564505a16ad69d8d1b5cf8c)
发现对方还是取不到我post给他的参数。
将数据放入下图中的key,value位置。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201803/64977f541ec51e37b6b1d832eb72b106)
通过代码post
将参数params(jsonObject格式) ,转成kv 结构 , 拼接到x-www-form-urlencoded中的key value下
代码参考:
如果对方接收格式是text/html要怎么将参数传递过去呢?
之前采取的方式是在将参数写在params中,如下图所示
发现对方还是取不到我post给他的参数。
正确操作如下
通过postman方式将数据放入下图中的key,value位置。
通过代码post
将参数params(jsonObject格式) ,转成kv 结构 , 拼接到x-www-form-urlencoded中的key value下
代码参考:
DefaultHttpClient httpClient = new DefaultHttpClient(); String queryString=MapUtils.map2QueryString(params).substring(1);//分割成一对对kv HttpPost method = new HttpPost(url); StringEntity entity = new StringEntity(queryString,"utf-8"); entity.setContentEncoding("UTF-8"); entity.setContentType("application/x-www-form-urlencoded" );//这边注意不是设置成x-www-form-urlencoded method.setEntity(entity);// try { HttpResponse result = httpClient.execute(method); JSONObject jsonResult = null; String str = ""; Header[] headers = result.getAllHeaders(); for (Header header : headers) { System.out.println(header.toString()); } /** 读取服务器返回过来的json字符串数据 **/ str = EntityUtils.toString(result.getEntity()); /** 把json字符串转换成json对象 **/ jsonResult = JSONObject.fromObject(str); System.out.println(jsonResult); } catch (Exception 4000 e) { System.out.println("post请求提交失败:" + url); }
相关文章推荐
- 解决java传递参数是String类型,pgsql的numeric字段接收报错问题
- 1:HTML 中 onclick 触发函数 xxx(param) 要传递对象参数的解决方法 2:LocalStorage存储JSON对象的问题 3:ajax请求传送参数为对象问题
- 解决angular的$http.post()提交数据时后台接收不到参数值问题的方法
- 解决angular的post请求后SpringMVC后台接收不到参数值问题的方法
- 解决angular的$http.post()提交数据时后台接收不到参数值问题的方法
- 解决angular的post请求后SpringMVC后台接收不到参数值问题的方法
- 解决angular的$http.post()提交数据时后台接收不到参数值问题的方法
- php 分页显示数据 post参数传递问题解决方法
- 解决angular的$http.post()提交数据时后台接收不到参数值问题的方法
- php 分页显示数据 post参数传递问题解决方法
- angular的$http.post()提交数据到Java后台接收不到参数值问题的解决方法
- 解决angular的post请求后SpringMVC后台接收不到参数值问题的方法
- 解决SpringMVC接收不到axios发送post请求的数据问题
- 解决axios,post请求传递不了对象{}参数的问题
- Http Post请求提交json格式数据工具类,解决请求参数中文乱码问题
- httpurlconnection post 和GET 分别传递2个参数给后台,返回JSON 解决乱码问题
- 《对“XXX::Invoke”类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃、损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们》的问题的解决方法
- 使用AFNetworking 2.0 请求数据时出现错误 Request failed: unacceptable content-type: text/html 解决方法
- Python中使用socket发送HTTP请求数据接收不完整问题解决方法
- 怎样解决thephile中的数据库由于排序造成的问题:对 text 数据类型不支持代码页转换。从: 1252 到: 936