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

yipeiwu_com6年前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数组函数序列之array_splice() - 在数组任意位置插入元素

array_splice定义和用法 array_splice() 函数与 array_slice() 函数类似,选择数组中的一系列元素,但不返回,而是删除它们并用其它值代替。 如果提供了...

array_multisort实现PHP多维数组排序示例讲解

array_multisort — 对多个数组或多维数组进行排序 说明 bool array_multisort ( array ar1 [, mixed arg [, mixed .....

php基于jquery的ajax技术传递json数据简单实例

本文实例讲述了php基于jquery的ajax技术传递json数据简单实现方法。分享给大家供大家参考,具体如下: html页面: <html> <head>...

PHP 5.3.1 安装包 VC9 VC6不同版本的区别是什么

最近在PHP官网上看到又有新版的PHP下载了,于是上去找找 For Windows的版本,可是一看,一共给了四个版本,VC9 x86 Non Thread Safe、VC9 x86 Th...

微盾PHP脚本加密专家php解密算法

复制代码 代码如下: <?php /*********************************** *威盾PHP加密专家解密算法 By:Neeao *http://Neea...