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 相关文章推荐
留言板翻页的实现详解
Oct 09 PHP
使用session判断用户登录用户权限(超简单)
Jun 08 PHP
基于PHP读取csv文件内容的详解
Jun 18 PHP
php生成图形(Libchart)实例
Nov 06 PHP
使用phpQuery采集网页的方法
Nov 13 PHP
php判断文件上传类型及过滤不安全数据的方法
Dec 17 PHP
PHP实现的oracle分页函数实例
Jan 25 PHP
PHP开发APP端微信支付功能
Feb 17 PHP
老生常谈php 正则中的i,m,s,x,e分别表示什么
Mar 02 PHP
PHP中上传文件打印错误错误类型分析
Apr 14 PHP
Laravel 创建指定表 migrate的例子
Oct 09 PHP
PHP中SESSION过期设置
Mar 09 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如何实现高效安全的ftp服务器(一)
2015/12/20 PHP
PHP打印输出函数汇总
2016/08/28 PHP
解决Laravel自定义类引入和命名空间的问题
2019/10/15 PHP
大家未必知道的Js技巧收藏
2008/04/07 Javascript
js如何获取object类型里的键值
2014/02/18 Javascript
完美兼容IE,chrome,ff的设为首页、加入收藏及保存到桌面js代码
2014/12/17 Javascript
JavaScript通过prototype给对象定义属性用法实例
2015/03/23 Javascript
javascript图片预加载完整实例
2015/12/10 Javascript
jquery操作select元素和option的实例代码
2016/02/03 Javascript
基于JavaScript实现复选框的全选和取消全选
2017/02/09 Javascript
vue中格式化时间过滤器代码实例
2019/04/17 Javascript
JavaScript怎样在删除前添加确认弹出框?
2019/05/27 Javascript
详解ES6新增字符串扩张方法includes()、startsWith()、endsWith()
2020/05/12 Javascript
基于JavaScript实现大文件上传后端代码实例
2020/08/18 Javascript
[05:26]2014DOTA2西雅图国际邀请赛 iG战队巡礼
2014/07/07 DOTA
[10:21]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster 选手采访
2021/03/11 DOTA
用Python实现一个简单的能够上传下载的HTTP服务器
2015/05/05 Python
python使用xlrd实现检索excel中某列含有指定字符串记录的方法
2015/05/09 Python
python使用电子邮件模块smtplib的方法
2016/08/28 Python
浅谈python中拼接路径os.path.join斜杠的问题
2018/10/23 Python
python matplotlib画图库学习绘制常用的图
2019/03/19 Python
Python魔法方法功能与用法简介
2019/04/04 Python
Python语言进阶知识点总结
2019/05/28 Python
python实现多线程端口扫描
2019/08/31 Python
详解Python绘图Turtle库
2019/10/12 Python
Python装饰器使用你可能不知道的几种姿势
2019/10/25 Python
外包公司软件测试工程师
2014/11/01 面试题
大学生两会精神学习心得体会
2014/03/10 职场文书
师范生自我鉴定
2014/03/20 职场文书
中餐厅经理岗位职责
2014/04/11 职场文书
大学生村官个人对照检查材料(群众路线)
2014/09/26 职场文书
KTV员工管理制度
2015/08/06 职场文书
机械原理课程设计心得体会
2016/01/15 职场文书
Python基于Opencv识别两张相似图片
2021/04/25 Python
Go使用协程交替打印字符
2021/04/29 Golang
gateway网关接口请求的校验方式
2021/07/15 Java/Android