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

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

发布时间:2022-01-18 21:45:16 所属栏目:PHP教程 来源:互联网
导读:利用php curl发送json数据与curl post其它数据是一样的,下面我来给大家总结几个关于curl post发送json数据实例,希望能加深各位对curl post json数据的理解吧。 例1代码如下: $data = array(name = Hagrid, age = 36); $data_string = json_encode($data);
  利用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;这个是文件格式类型了.

(编辑:源码门户网)

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

    热点阅读