PHP cURL初始化和执行方法入门级代码


Posted in PHP onMay 28, 2015

这个是采集基础,最好熟悉一下

$ch = curl_init();
# 设定url和把结果返回,是否返回头部
curl_setopt($ch, CURLOPT_URL, 'http://www.baidu.com/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($this->ch, CURLOPT_HEADER, 1);

# cookie文件设定
curl_setopt($this->ch, CURLOPT_COOKIEJAR, $cookie_file);
curl_setopt($this->ch, CURLOPT_COOKIEFILE, $cookie_file);

# 额外头部
curl_setopt($this->ch, CURLOPT_HTTPHEADER, array('User-Agent: Mozilla/5.0'));

# 设定post
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $poststring);

# 连接、执行过期时间
curl_setopt($this->ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($this->ch, CURLOPT_TIMEOUT, 30);

# 是否跟随301 302
curl_setopt($this->ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($this->ch, CURLOPT_MAXREDIRS, 10);

# refer
curl_setopt($this->ch, CURLOPT_REFERER, $refer);

# http版本和端口重用设置
curl_setopt($this->ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($this->ch, CURLOPT_FORBID_REUSE, 1);

# 支持https
curl_setopt($this->ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($this->ch, CURLOPT_SSL_VERIFYHOST, 0);

# 如果需要进行毫秒超时,需要增加:
curl_setopt($this->ch, CURLOPT_NOSIGNAL, 1);

# 执行
$response = curl_exec($ch);
if(curl_errno($ch)){
  curl_error($ch);
  exit();
}
curl_close($ch);
PHP 相关文章推荐
php中通过smtp发邮件的类,测试通过
Jan 22 PHP
php相当简单的分页类
Oct 02 PHP
PHP HTML代码串截取代码
Dec 29 PHP
ajax php 实现写入数据库
Sep 02 PHP
解析wamp5下虚拟机配置文档
Jun 27 PHP
PHP中使用CURL模拟登录并获取数据实例
Jul 01 PHP
PHP使用CURL_MULTI实现多线程采集的例子
Jul 29 PHP
php中str_pad()函数用法分析
Mar 28 PHP
laravel5.4生成验证码的实例讲解
Aug 05 PHP
PHP addcslashes()函数讲解
Feb 03 PHP
浅析PHP 中move_uploaded_file 上传中文文件名失败
Apr 17 PHP
浅谈laravel 5.6 安装 windows上使用composer的安装过程
Oct 18 PHP
php支持中文字符串分割的函数
May 28 #PHP
typecho插件编写教程(五):核心代码
May 28 #PHP
php实现paypal 授权登录
May 28 #PHP
typecho插件编写教程(四):插件挂载
May 28 #PHP
PHP Opcache安装和配置方法介绍
May 28 #PHP
typecho插件编写教程(三):保存配置
May 28 #PHP
PHP通过API获取手机号码归属地
May 28 #PHP
You might like
php smarty函数扩展
2010/03/15 PHP
PHP zlib扩展实现页面GZIP压缩输出
2010/06/17 PHP
PHP生成不重复标识符的方法
2014/11/21 PHP
PHP递归调用数组值并用其执行指定函数的方法
2015/04/01 PHP
PHP使用Pthread实现的多线程操作实例
2015/11/14 PHP
php引用和拷贝的区别知识点总结
2019/09/23 PHP
用javascript动态调整iframe高度的代码
2007/04/10 Javascript
jquery.jstree 增加节点的双击事件代码
2010/07/27 Javascript
Jquery Autocomplete 结合asp.net使用要点
2010/10/29 Javascript
javascript中length属性的探索
2011/07/31 Javascript
Extjs407 getValue()和getRawValue()区别介绍
2013/05/21 Javascript
Javascript异步编程模型Promise模式详细介绍
2014/05/08 Javascript
Js实现手机发送验证码时按钮延迟操作
2014/06/20 Javascript
js简单实现表单中点击按钮动态增加输入框数量的方法
2015/08/18 Javascript
jquery小火箭返回顶部代码分享
2015/08/19 Javascript
详解JavaScript中js对象与JSON格式字符串的相互转换
2017/02/14 Javascript
js实现简单的二级联动效果
2017/03/09 Javascript
微信小程序实现动态设置placeholder提示文字及按钮选中/取消状态的方法
2017/12/14 Javascript
vue两个组件间值的传递或修改方式
2018/07/04 Javascript
深入理解Vue router的部分高级用法
2018/08/15 Javascript
详解使用jest对vue项目进行单元测试
2018/09/07 Javascript
总结4个方面优化Vue项目
2019/02/11 Javascript
CentOS安装pillow报错的解决方法
2016/01/27 Python
python去除空格和换行符的实现方法(推荐)
2017/01/04 Python
使用python批量读取word文档并整理关键信息到excel表格的实例
2018/11/07 Python
Python read函数按字节(字符)读取文件的实现
2019/07/03 Python
Python requests模块基础使用方法实例及高级应用(自动登陆,抓取网页源码)实例详解
2020/02/14 Python
美国眼镜网站:LensCrafters
2020/01/19 全球购物
构造器Constructor是否可被override?
2013/08/06 面试题
可以使用抽象函数重写基类中的虚函数吗
2013/06/02 面试题
宿舍违规用电检讨书
2014/02/16 职场文书
文明村创建实施方案
2014/03/27 职场文书
2014五年级班主任工作总结
2014/12/05 职场文书
工作经验交流材料
2014/12/30 职场文书
2015年学校办公室工作总结
2015/05/26 职场文书
热爱劳动主题班会
2015/08/14 职场文书