PHP curl发送数据 函数
2015-10-15 14:02
651 查看
在项目中经常会调用一些网络接口,返回的数据一般为json 或者 xml 为主, 这个函数就是利用 curl 发送网络请求 获得数据,可以根据实际情况改编。
// 注意cookie 文件要修改成自己的
// 注意cookie 文件要修改成自己的
// 构造函数 public function __construct(){ parent::__construct(); // cookie 目录 $this->temp_dir = './temp'; // 创建cookie 临时文件 $this->cookie_file = tempnam($this->temp_dir,'cookie'); } /** * 数据发送函数 * @access public * @param string $url 请求地址 * @param array $data 要发送的数据 * @param boolean $send_cookie 是否要发送cookie 文件 * @param boolean $pus_cookie 是否要写入cookie 文件 * @param boolean $is_post 是否是post方式发送 默认是get方式发送 * @param Integer $time_out 超时时间 * @return array 返回获得的数据 */ public function httpQuery($url, $data=array(), $send_cookie=true, $pus_cookie=true, $is_post=false, $time_out=30){ if(empty($url)){ return false; } $ch = curl_init(); // 判断是否要发生数据 if(!empty($data)){ if($is_post){ curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS,$data); }else{ $data = http_build_query($data); curl_setopt($ch,CURLOPT_URL,$url."?".$data); } }else{ curl_setopt($ch,CURLOPT_URL,$url); } // 返回信息 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 发送cookie if($send_cookie){ curl_setopt($ch, CURLOPT_COOKIEFILE, $this->cookie_file); } // 记录cookie if($pus_cookie){ curl_setopt($ch, CURLOPT_COOKIEJAR, $this->cookie_file); } // 设置超时时间 curl_setopt($ch, CURLOPT_TIMEOUT,$time_out); // 执行连接 获取数据 $res = curl_exec($ch); // 关闭连接 curl_close($ch); // 返回数组形式的数据 return json_decode($res,true); }
相关文章推荐
- [php] thinkphp 开发总结
- PHP-基础(常用库函数)
- PHP中的正则匹配函数
- php cli配置文件问题分析
- intellij idea 高级用法之:集成JIRA、UML类图插件、集成SSH、集成FTP、Database管理(转)
- 5步安装vsftpd
- 安装PHP遇到的问题
- PHP入门
- 【PHP】修改PHP配置文件php.ini 上传文件的大小限制
- php 扩展开发
- PHP定时执行的三种方式实现
- php定时计划任务的实现原理
- PHP图片处理
- Thinkphp PHPEXCEL导入时间格式的问题
- FTP完美操作类
- IIS7服务器中如何配置FTP7和IIS管理凭据方式进行验证
- IIS7.5 配置多用户FTP
- php生成PDF文件(FPDF)
- 免费手机号码归属地API查询接口和PHP使用实例分享
- php sprintf函数