在php中要模拟post请求数据提交我们会使用到curl函数,下面我来给大家举curl模拟post和get请求提交数据的例子,有需要的朋友可参考参考。
curl模拟POST提交数据:
function jsonPost($data) {
$url_service = "http://www.sucaihuo.com/jquery/demo/181/ajax.php";
$url = $url_service; //urlencode特殊字符
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url); //获取的URL地址
if (!empty($data)) { //数组不为空的时候传参
curl_setopt($ch, CURLOPT_POST, 1); //POST 开启
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); //POST传参数
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //如果成功只将结果返回,不自动输出任何内容。如果失败返回FALSE
$output = curl_exec($ch); //执行一个curl会话
curl_close($ch); //关闭一个curl会话
$lists = json_decode($output, true); //返回的json转换数组
return $lists;
}
curl模拟GET提交数据:
function jsonGet($data) {
$url_service = "http://www.sucaihuo.com/jquery/demo/181/ajax.php";
$jsons = urlencode(json_encode($data)); //urlencode特殊字符
$url = $url_service . "?data=" . $jsons . "";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url); //获取的URL地址
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //如果成功只将结果返回,不自动输出任何内容。如果失败返回FALSE
$output = curl_exec($ch); //执行一个curl会话
curl_close($ch); //关闭一个curl会话
$lists = json_decode($output, true); //返回的json转换数组
return $lists;
}
提示:get的url传参的数组,最好加上urlencode,若出现特殊字符,会出错。
POST传数组获取数据:
<?php
$data = array("a" => "1", "b" => "2");
$arr = jsonPost($data);
echo $arr['rs'];
?>
ajax.php 的post方式获取结果。
<?php
$rs = $_POST['a']+$_POST['b'];
echo json_encode(array('rs'=>$rs));
?>
ajax.php 的get方式获取结果。
<?php
$data = json_decode(urldecode($_POST['data']),true);
$rs = $data['a']+$data['b'];
echo json_encode(array('rs'=>$rs));
?>
最后结果应显示:3
系统已开启自动识别垃圾评论机制,识别到的自动封号,下载出错或者资源有问题请联系全栈客服QQ 1915635791