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 相关文章推荐
在WIN98下以apache模块方式安装php
Oct 09 PHP
php 随机记录mysql rand()造成CPU 100%的解决办法
May 18 PHP
php smarty 二级分类代码和模版循环例子
Jun 16 PHP
深入密码加salt原理的分析
Jun 06 PHP
PHP实现单例模式最安全的做法
Jun 13 PHP
PHP callback函数使用方法和注意事项
Jan 23 PHP
php使用正则表达式进行字符串搜索的方法
Mar 23 PHP
CodeIgniter删除和设置Cookie的方法
Apr 07 PHP
Yii2使用自带的UploadedFile实现的文件上传
Jun 20 PHP
PHP实现统计在线人数功能示例
Oct 15 PHP
老生常谈ThinkPHP中的行为扩展和插件(推荐)
May 05 PHP
Thinkphp5结合layer弹窗定制操作结果页面
Jul 07 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
手冲咖啡应该是现代精品咖啡店的必备选项吗?
2021/03/03 冲泡冲煮
解析php mysql 事务处理回滚操作(附实例)
2013/08/05 PHP
跟我学Laravel之快速入门
2014/10/15 PHP
PHP编程实现多维数组按照某个键值排序的方法小结【2种方法】
2017/04/27 PHP
PHP微信网页授权的配置文件操作分析
2019/05/29 PHP
javascript之dhDataGrid Ver2.0.0代码
2007/07/01 Javascript
jquery中.add()的使用分析
2013/04/26 Javascript
Nodejs为什么选择javascript为载体语言
2015/01/13 NodeJs
深入讲解AngularJS中的自定义指令的使用
2015/06/18 Javascript
Js+php实现异步拖拽上传文件
2015/06/23 Javascript
详细分析JavaScript变量类型
2015/07/08 Javascript
javascript高级编程之函数表达式 递归和闭包函数
2015/11/29 Javascript
javascript常见数字进制转换实例分析
2016/04/21 Javascript
关于页面刷新vuex数据消失问题解决方案
2017/07/03 Javascript
js移动端图片压缩上传功能
2020/08/18 Javascript
JavaScript对象拷贝与赋值操作实例分析
2018/12/10 Javascript
微信小程序自定义底部弹出框功能
2020/11/18 Javascript
[02:44]DOTA2英雄基础教程 克林克兹
2014/01/15 DOTA
几个提升Python运行效率的方法之间的对比
2015/04/03 Python
Python定时执行之Timer用法示例
2015/05/27 Python
Tensorflow卷积神经网络实例
2018/05/24 Python
python实现生成字符串大小写字母和数字的各种组合
2019/01/01 Python
详解Python:面向对象编程
2019/04/10 Python
python实现代码统计程序
2019/09/19 Python
Python利用逻辑回归模型解决MNIST手写数字识别问题详解
2020/01/14 Python
python 回溯法模板详解
2020/02/26 Python
PyTorch预训练Bert模型的示例
2020/11/17 Python
html5 application cache遇到的严重问题
2012/12/26 HTML / CSS
美国Randolph太阳镜官网:美国制造的飞行员太阳镜和射击眼镜
2018/06/15 全球购物
Mio Skincare英国官网:身体紧致及孕期身体护理
2018/08/19 全球购物
方法名是否可以与构造器的名字相同
2012/06/04 面试题
Java语言程序设计测试题判断题部分
2013/01/06 面试题
美术毕业生求职信
2014/02/25 职场文书
2015年学校总务工作总结
2015/07/20 职场文书
Mysql 如何实现多张无关联表查询数据并分页
2021/06/05 MySQL
Java异常处理try catch的基本用法
2021/12/06 Java/Android