php使用curl发送json格式数据实例
在使用curl的时候,实际上是组装了一段http报文进行传输,对于接受方(也就是服务器)来说,和普通的http请求,如get,表单,或者是ajax等请求没有任何的区别,所有的请求都是通过http报文进行传输的,也就是说,你只要使用正常的$_GET,$_POSt就能直接获取到了,不过不要忘了检测数据来源,保证安全性!
php用curl的post方法传递json包的时候,接受方是怎么获取的呢
假设POST的数据为:{"data":"abc"}
POST参数为:data
同样以PHP为例,接受并处理请求的相关代码如下:
1234567891011121314<?php extract($_POST); // 将数组中的key摊成变量,并导入key对应的值 if (!empty($data)){ $data = json_decode($data); // json 字符串解码成 json 数据 var_dump($data); // 打印 json 数据 // 输出结果 object(stdClass)[1] public 'data' => string 'abc' (length=3)}
使用phpcurl模拟post请求,自动附加了data参数
$post_data_string = http_build_query($post_data, '&'); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $get_session_url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data_string); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $xmloutput = curl_exec($ch);
一般这样写 你自己对比下
