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实现下载文件的两种方法

方法一:复制代码 代码如下: header('Content-Description: File Transfer'); header('Content-Type:...

组合算法的PHP解答方法

题目:组合算法:有一个数组a,有N 个元素,现在要求从中找出含有任意元素的所有组合个数。 解答:先看规律吧: 假设这个数组为array(1,2,3,4,5)那么M=5; 可能出现的组合为...

PHP设置一边执行一边输出结果的代码

复制代码 代码如下:<?php     set_time_limit(10);     ob_end...

PHP实现递归复制整个文件夹的类实例

本文实例讲述了PHP实现递归复制整个文件夹的类。分享给大家供大家参考。具体如下: <?php /* * 文件夹复制类 */ class CopyFile { pub...

php验证手机号码

大家都应该有这个常识,中国的手机号码都是以数字“1”开头,然后利用“0~9”10个数字组成的11位数字组合,那么我们的验证规则肯定要根据这个思路来写。 根据上面的简单思路,我们便可以写下...