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

5年以前  |  阅读数:771 次  |  编程语言: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分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例