POST一个JSON格式的数据给Restful服务实例详解

yipeiwu_com7年前PHP代码库

在Android/Java平台上实现POST一个json数据:

JSONObject jsonObj = new JSONObject();
jsonObj.put("username", username);
jsonObj.put("apikey", apikey);
// Create the POST object and add the parameters
HttpPost httpPost = new HttpPost(url);
StringEntity entity = new StringEntity(jsonObj.toString(), HTTP.UTF_8);
entity.setContentType("application/json");
httpPost.setEntity(entity);
HttpClient client = new DefaultHttpClient();
HttpResponse response = client.execute(httpPost);

用curl可执行如下命令:

curl -l -H "Content-type: application/json" -X POST -d '{"phone":"13521389587","password":"test"}' http://domain/apis/users.json

用jQuery:

$.ajax({
 url:url,
 type:"POST",
 data:data,
 contentType:"application/json; charset=utf-8",
 dataType:"json",
 success: function(){
  ...
 }
})

PHP用cUrl实现:

$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); 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

php Ubb代码编辑器函数代码

复制代码 代码如下: <?php /* php Ubb代码编辑器 */ function get_ubb($ubb){ $ubb=preg_replace("/([B])(.*)(...

php实现Mongodb自定义方式生成自增ID的方法

本文实例讲述了php实现Mongodb自定义方式生成自增ID的方法。分享给大家供大家参考。具体分析如下: 复制代码 代码如下://首先创建一个自动增长id集合 ids >db.id...

php microtime获取浮点的时间戳

一直以来用这个函数获取: 复制代码 代码如下: function microtime_float(){ list($usec, $sec) = explode(" ", microtim...

为PHP5.4开启Zend OPCode缓存

为PHP5.4开启Zend OPCode缓存

编译步骤: 复制代码 代码如下: git clone git://github.com/zend-dev/ZendOptimizerPlus.git cd ZendOptimizerPl...

phpExcel中文帮助手册之常用功能指南

PHPExcel基本操作: 定义EXCEL实体 即定义一个PHPEXCEL对象,并设置EXCEL对象内显示内容 // Excel开始 // 准备EXCEL的包括文件 // Error...