php 通过curl post发送json数据实例

例1

 代码如下 复制代码

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

例2

 代码如下 复制代码

   function http_post_data($url, $data_string) {

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
        curl_setopt($ch, CURLOPT_HTTPHEADER, array(
            'Content-Type: application/json; charset=utf-8',
            'Content-Length: ' . strlen($data_string))
        );
        ob_start();
        curl_exec($ch);
        $return_content = ob_get_contents();
        ob_end_clean();

        $return_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
        return array($return_code, $return_content);
    }

$url  = "http://xx.xx.cn";
$data = json_encode(array('a'=>1, 'b'=>2));

list($return_code, $return_content) = http_post_data($url, $data);

例3

 代码如下 复制代码

$data=' {
     "button":[
     {   
          "type":"click",
          "name":"今日歌曲",
          "key":"V1001_TODAY_MUSIC"
      },
      {
           "type":"click",
           "name":"歌手简介",
           "key":"V1001_TODAY_SINGER"
      },
      {
           "name":"菜单",
           "sub_button":[
            {
               "type":"click",
               "name":"hello word",
               "key":"V1001_HELLO_WORLD"
            },
            {
               "type":"click",
               "name":"赞一下我们",
               "key":"V1001_GOOD"
            }]
       }]
 }';

$ch = curl_init($urlcon); //请求的URL地址
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);//$data JSON类型字符串
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Content-Length: ' . strlen($data)));
$data = curl_exec($ch);
print_r($data);//创建成功返回:{"errcode":0,"errmsg":"ok"}

小结,我们发现最核心的一句代码就是Content-Type: application/json;这个是文件格式类型了。

时间: 2024-08-02 05:35:18

php 通过curl post发送json数据实例的相关文章

java 使用http协议访问api接口,发送json数据

问题描述 java 使用http协议访问api接口,发送json数据 http访问 api接口,http的头需要加入id 和密钥进行验证,发送json格式的数据给应用程序,求大神指教.有没有实例程序可供参考的,谢谢各位了 解决方案 jsp服务器端 变量 = request.getHeader(""http头字段""); 客户端 HashMap<String String> headers = new HashMap<String String>

php-求一段能用的PHP发送json数据的代码

问题描述 求一段能用的PHP发送json数据的代码 不要复制粘贴的,网上都不能用 function http_post_data($url, $strjson) { $ch = curl_init(); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POSTFIELDS, $strjson); curl_setopt($ch, CURLOPT_HTT

pringm-SpringMVC+mybatis如何向前台发送JSON数据?新手求解!

问题描述 SpringMVC+mybatis如何向前台发送JSON数据?新手求解! 项目需要用到另一个项目的数据,发送过来的是一个JSON格式的字符串.请问如何可以在前台用easyUI的dategrid显示 解决方案 两种方式:1.通过response写回去,例如response.getWriter().write("1111111"); 2.你可以通过注解@ResponseBody写回去,例如: @ResponseBody @RequestMapping("/findByI

iOS开发网络篇—发送json数据给服务器以及多值参数

一.发送JSON数据给服务器 发送JSON数据给服务器的步骤: (1)一定要使用POST请求 (2)设置请求头 (3)设置JSON数据为请求体 代码示例: 1 #import "YYViewController.h" 2 3 @interface YYViewController () 4 5 @end 6 7 @implementation YYViewController 8 9 - (void)viewDidLoad 10 { 11 [super viewDidLoad]; 12

服务器接收方法-Android向服务器发送json数据,服务器怎么把post过去的数据取出来?

问题描述 Android向服务器发送json数据,服务器怎么把post过去的数据取出来? Android端:Resquest url:http://192.168.23.7:8080/TennisWeb/find!login.action 数据:post json:{""username"":""shan""password"":""1234""}到服务器(ssh),

Jquery通过ajax请求NodeJS返回json数据实例_jquery

最近看了NodeJS相关的,在网上查了下结合AJAX的应用,感觉应用前景还是不错的.为什么用这个组合呢? 1.NodeJS不需要安装,拷贝过去就可以使用,而环境变量可以只配置在当前cmd窗口,运行方便. 2.通过HTML的ajax请求,可以实现在不同的服务器上,可跨域获取数据. 3.通信数据格式灵活,可以是xml.json.binary等,数据适合任何平台. 在说说我的环境,我使用的是公司提供的电脑,有很多限制,比如是域中电脑,操作权限低,无法安装任何软件,无法修改计算机配置,无法使用U盘等等.

jQuery Ajax+PHP返回JSON数据实例教程

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写,同时也易于机器解析和生成.JSON在前后台交互的过程中发挥着相当出色的作用.请接着往下看教程. mysql表结构  代码如下 复制代码 CREATE TABLE IF NOT EXISTS `user` (    `id` int(11) NOT NULL auto_increment,    `username` varchar(100) NOT NULL,    `sex` var

Asp.net配合easyui实现返回json数据实例_实用技巧

本文实例讲述了Asp.net配合easyui实现返回json数据的实现方法.分享给大家供大家参考.具体如下: 最近想用asp.net配合easyui开发一个小框架,然后再用到easyui的combobox的时候出现了一个问题,总所周知,easyui的文档上给出的combobox的格式是 复制代码 代码如下: <input class="easyui-combobox"               name="language"              dat

php json_encode()函数返回json数据实例代码_php技巧

json_encode()函数用法. echo json_encode(array('a'=>'bbbb','c'=>'ddddd'); 这样就会生成一个标准的json格式的数据 代码如下 <?php //需要执行的SQL语句 //单条 $sql="select id,name from tbl_user where id=1"; //多条数据 //$sql="select id,name from tbl_user"; //调用conn.php文