好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

php 通过curl post发送json数据实例 - php高级应用

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

利用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;这个是文件格式类型了.

查看更多关于php 通过curl post发送json数据实例 - php高级应用的详细内容...

  阅读:52次