加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2023-05-31 13:13:58 所属栏目:PHP教程 来源:
导读:利用php curl发送json数据与curl post其它数据是一样的,下面我来给大家总结几个关于curl post发送json数据实例,希望能加深各位对curl post json数据的理解吧。

例1代码如下:

$data = array("name" => "Hagrid"
利用php curl发送json数据与curl post其它数据是一样的,下面我来给大家总结几个关于curl post发送json数据实例,希望能加深各位对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;这个是文件格式类型了。

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章