PHP函数分享之curl方式取得数据、模拟登陆、POST数据


Posted in PHP onJune 04, 2014

废话不多说直接上代码

/********************** curl 系列 ***********************/
//直接通过curl方式取得数据(包含POST、HEADER等)
/*
 * $url: 如果非数组,则为http;如是数组,则为https
 * $header: 头文件
 * $post: post方式提交 array形式
 * $cookies: 0默认无cookie,1为设置,2为获取
 */
public function curl_allinfo($urls, $header = FALSE, $post = FALSE, $cookies = 0) {
    $url = is_array($urls) ? $urls['0'] : $urls;
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    //带header方式提交
    if($header != FALSE){
        curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    }
    //post提交方式
    if($post != FALSE){
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
    }
    if($cookies == 1){
        curl_setopt($ch, CURLOPT_COOKIEJAR, "cookiefile");
    }else if($cookies == 2){
        curl_setopt($ch, CURLOPT_COOKIEFILE, "cookiefile");
    }
    if(is_array($urls)){
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    }
    $data = curl_exec($ch);
    curl_close($ch);
    return $data;
}
PHP 相关文章推荐
php学习之运算符相关概念
Jun 09 PHP
PHP 小心urldecode引发的SQL注入漏洞
Oct 27 PHP
用来解析.htgroup文件的PHP类
Sep 05 PHP
解析PHP实现多进程并行执行脚本
Jun 18 PHP
如何修改和添加Apache的默认站点目录
Jul 05 PHP
限制ckeditor上传图片文件大小的方法
Nov 15 PHP
PHP防盗链代码实例
Aug 27 PHP
使用ltrace工具跟踪PHP库函数调用的方法
Apr 25 PHP
Yii2 GridView实现列表页直接修改数据的方法
May 16 PHP
[原创]php求圆周率的简单实现方法
May 30 PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
Feb 18 PHP
goto语法在PHP中的使用教程
Sep 17 PHP
PHP 如何获取二维数组中某个key的集合
Jun 03 #PHP
PHP 二维数组根据某个字段排序的具体实现
Jun 03 #PHP
php 批量添加多行文本框textarea一行一个
Jun 03 #PHP
PHP解决URL中文GBK乱码问题的两种方法
Jun 03 #PHP
php数组中包含中文的排序方法
Jun 03 #PHP
php实现文件下载实例分享
Jun 02 #PHP
php+js实现异步图片上传实例分享
Jun 02 #PHP
You might like
PHP自定session保存路径及删除、注销与写入的方法
2014/11/18 PHP
PHP微信开发之二维码生成类
2015/06/26 PHP
完美利用Yii2微信后台开发的系列总结
2016/07/18 PHP
PHP输出Excel PHPExcel的方法
2018/07/26 PHP
js ondocumentready onmouseover onclick onmouseout 样式
2010/07/22 Javascript
asp.net 30分钟掌握无刷新 Repeater
2011/09/16 Javascript
JSON 数据格式介绍
2012/01/13 Javascript
js动态添加删除,后台取数据(示例代码)
2013/11/25 Javascript
javascript + jquery实现定时修改文章标题
2014/03/19 Javascript
javascript修改图片src的方法
2015/01/27 Javascript
JavaScript字符串常用类使用方法汇总
2015/04/14 Javascript
非常酷炫的Bootstrap图片轮播动画
2016/05/27 Javascript
jqGrid用法汇总(全经典)
2016/06/28 Javascript
浅述Javascript的外部对象
2016/12/07 Javascript
详解bootstrap用dropdown-menu实现上下文菜单
2017/09/22 Javascript
记一次webapck4 配置文件无效的解决历程
2018/09/19 Javascript
基于webpack4.X从零搭建React脚手架的方法步骤
2018/12/23 Javascript
用node开发并发布一个cli工具的方法步骤
2019/01/03 Javascript
Vue仿微信app页面跳转动画效果
2019/08/21 Javascript
为什么Vue3.0使用Proxy实现数据监听(defineProperty表示不背这个锅)
2019/10/14 Javascript
原生js实现点击轮播切换图片
2020/02/11 Javascript
原生js实现放大镜组件
2021/01/22 Javascript
[02:23]2014DOTA2国际邀请赛中国战队回顾
2014/08/01 DOTA
[01:18:36]LGD vs VP Supermajor 败者组决赛 BO3 第一场 6.10
2018/07/04 DOTA
pygame游戏之旅 添加键盘按键的方法
2018/11/20 Python
只需7行Python代码玩转微信自动聊天
2019/01/27 Python
如何使用Python进行OCR识别图片中的文字
2019/04/01 Python
Django重置migrations文件的方法步骤
2019/05/01 Python
Django基础知识 URL路由系统详解
2019/07/18 Python
Numpy 理解ndarray对象的示例代码
2020/04/03 Python
如何在scrapy中捕获并处理各种异常
2020/09/28 Python
一名老师的自我评价
2014/02/07 职场文书
建筑工地门卫岗位职责
2014/04/30 职场文书
中学生爱国演讲稿
2014/09/05 职场文书
结婚老公保证书
2015/02/26 职场文书
俄罗斯十大城市人口排名,第三首都仅排第六,第二是北方首都
2022/03/20 杂记