工作中需要使用curl的post请求来向第三方服务器获取数据, 下面是php版本的实现代码,以作备忘.
<?php
$url = "http://hao.qq.com/lunbo/switch.php";
$data = array("code"=>"find_wonder");
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
curl_setopt($ch, CURLOPT_MAXREDIRS, 4);
curl_setopt($ch, CURLOPT_ENCODING, ""); //必须解压缩防止乱码
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 5.1; zh-CN) AppleWebKit/535.12 (KHTML, like Gecko) Chrome/22.0.1229.79 Safari/535.12");
curl_setopt($ch, CURLOPT_TIMEOUT, 15);
$output = curl_exec($ch);
curl_close($ch);
print_r($output);
?>这里需要注意的地方是, hao.qq.com返回的数据是gzip和chunk发送的, 必须启用curl的自动解压缩功能来得到解压后的数据, 否则会导致乱码.
将上面的源码文件记为curl_post.php, 在命令行执行
php curl_post.php
立即学习“PHP免费学习笔记(深入)”;
下面是获取的结果示例

上面的实例是,向hao.qq.com发送POST请求来获取指定的代码片段, 它是div和script代码片段的混合体, 会生成类似如下的页面效果

以上就介绍了php中利用curl进行post请求示例,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。











