php中利用curl进行post请求示例
2015-03-07 09:37
183 查看
工作中需要使用curl的POST请求来向第三方服务器获取数据, 下面是php版本的实现代码,以作备忘.
这里需要注意的地方是, hao.qq.com返回的数据是gzip和chunk发送的, 必须启用curl的自动解压缩功能来得到解压后的数据, 否则会导致乱码.
将上面的源码文件记为curl_post.php, 在命令行执行
php curl_post.php
下面是获取的结果示例
上面的实例是,向hao.qq.com发送POST请求来获取指定的代码片段, 它是div和script代码片段的混合体, 会生成类似如下的页面效果
<?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
下面是获取的结果示例
上面的实例是,向hao.qq.com发送POST请求来获取指定的代码片段, 它是div和script代码片段的混合体, 会生成类似如下的页面效果
相关文章推荐
- PHP利用CURL进行 POST上传最完整的代码
- php中利用curl模拟get请求时,数据包含空格会进行隔断操作,只得到部分数据
- HTML提交表单用户选择的头像如何利用<select>标签提交到PHP并连接数据库进行存读操作
- php利用文件锁进行简易秒杀
- 兼容IE和FF:获取Referer的JS和PHP方法 及 PHP利用curl伪造IP和来路
- php利用pdo进行mysql的事务处理机制
- PHP使用CURL实现对带有验证码的网站进行模拟登录的方法
- php利用CURL查询天气预报
- PHP利用curl实现爬虫
- 利用单元测试在每个层上对PHP代码进行检查
- PHP利用SOAP进行webservice开发(客户端)
- php 利用第三方软件进行网页快照
- php的curl获取https加密协议请求返回json数据进行信息获取
- php 利用curl_multi_int 批量下载图片
- PHP使用CURL实现对带有验证码的网站进行模拟登录的方法
- 利用php利用root权限执行shell脚本必须进行以下几个步骤
- PHP利用Curl、socket、file_get_contents POST数据
- PHP 使用 curl_* 系列函数和 curl_multi_* 系列函数进行多接口调用时的性能对比
- 【php】利用原生态的JavaScript Ajax为php进行MVC分层设计,兼容IE6
- PHP利用CURL方法模拟POST提交数据并获得返回值的小细节