如何POST一个JSON格式的数据给Restful服务
2015-07-03 18:36
771 查看
转: http://blog.csdn.net/iefreer/article/details/8280345
在Android/java平台上实现POST一个json数据:
用curl可执行如下命令:
curl -l -H "Content-type: application/json" -X POST -d '{"phone":"13521389587","password":"test"}' http://domain/apis/users.json
用jQuery:
PHP用cUrl实现:
[php] view
plaincopy
$data = array("name" => "Hagrid", "age" => "36");
$data_string = json_encode($data);
$ch = curl_init('http://api.local/rest/users');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($data_string))
);
$result = curl_exec($ch);
by iefreer
版权声明:本文为博主原创文章,未经博主允许不得转载。
在Android/java平台上实现POST一个json数据:
<code><span class="typ">JSONObject</span><span class="pln"> jsonObj </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">JSONObject</span><span class="pun">();</span><span class="pln"> jsonObj</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"username"</span><span class="pun">,</span><span class="pln"> username</span><span class="pun">);</span><span class="pln"> jsonObj</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="str">"apikey"</span><span class="pun">,</span><span class="pln"> apikey</span><span class="pun">);</span><span class="pln"> </span><span class="com">// Create the POST object and add the parameters</span><span class="pln"> </span><span class="typ">HttpPost</span><span class="pln"> httpPost </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">HttpPost</span><span class="pun">(</span><span class="pln">url</span><span class="pun">);</span><span class="pln"> </span><span class="typ">StringEntity</span><span class="pln"> entity </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">StringEntity</span><span class="pun">(</span><span class="pln">jsonObj</span><span class="pun">.</span><span class="pln">toString</span><span class="pun">(),</span><span class="pln"> HTTP</span><span class="pun">.</span><span class="pln">UTF_8</span><span class="pun">);</span><span class="pln"> entity</span><span class="pun">.</span><span class="pln">setContentType</span><span class="pun">(</span><span class="str">"application/json"</span><span class="pun">);</span><span class="pln"> httpPost</span><span class="pun">.</span><span class="pln">setEntity</span><span class="pun">(</span><span class="pln">entity</span><span class="pun">);</span><span class="pln"> </span><span class="typ">HttpClient</span><span class="pln"> client </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">DefaultHttpClient</span><span class="pun">();</span><span class="pln"> </span><span class="typ">HttpResponse</span><span class="pln"> response </span><span class="pun">=</span><span class="pln"> client</span><span class="pun">.</span><span class="pln">execute</span><span class="pun">(</span><span class="pln">httpPost</span><span class="pun">);</span></code>
用curl可执行如下命令:
curl -l -H "Content-type: application/json" -X POST -d '{"phone":"13521389587","password":"test"}' http://domain/apis/users.json
用jQuery:
<code><span class="pln">$</span><span class="pun">.</span><span class="pln">ajax</span><span class="pun">({</span><span class="pln"> url</span><span class="pun">:</span><span class="pln">url</span><span class="pun">,</span><span class="pln"> type</span><span class="pun">:</span><span class="str">"POST"</span><span class="pun">,</span><span class="pln"> data</span><span class="pun">:</span><span class="pln">data</span><span class="pun">,</span><span class="pln"> contentType</span><span class="pun">:</span><span class="str">"application/json; charset=utf-8"</span><span class="pun">,</span><span class="pln"> dataType</span><span class="pun">:</span><span class="str">"json"</span><span class="pun">,</span><span class="pln"> success</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pun">(){</span><span class="pln"> </span><span class="pun">...</span><span class="pln"> </span><span class="pun">}</span><span class="pln"> </span><span class="pun">})</span></code>
PHP用cUrl实现:
[php] view
plaincopy
$data = array("name" => "Hagrid", "age" => "36");
$data_string = json_encode($data);
$ch = curl_init('http://api.local/rest/users');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($data_string))
);
$result = curl_exec($ch);
by iefreer
版权声明:本文为博主原创文章,未经博主允许不得转载。
相关文章推荐
- js事件代理
- Js继承二
- 将Ext JS 6应用程序导入Web项目
- JS兼容IE浏览器的方法
- 将Ext JS 6应用程序导入Web项目
- 将Ext JS 6应用程序导入Web项目
- 将Ext JS 6应用程序导入Web项目
- 带泛型的Json转换
- Javascript学习1:正则表达式
- js上传图片预览
- Javascript 点击按钮 提示确认 确认后跳转网页 可传递参数
- javascript——策略模式
- 利用javascript Location访问Url,重定向,刷新页面
- JavaScript 闭包
- js判断浏览器类型及版本
- html页面中js添加遮盖层实现等待效果
- 第三章 javaScript数据类型
- javascript获取系统当前时间
- js作用域的学习
- js定时跳转页面