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 数字左侧自动补0
Mar 31 PHP
简单示例AJAX结合PHP代码实现登录效果代码
Jul 25 PHP
微信公众平台天气预报功能开发
Jul 06 PHP
php+mysqli预处理技术实现添加、修改及删除多条数据的方法
Jan 30 PHP
php判断邮箱地址是否存在的方法
Feb 13 PHP
php简单创建zip压缩文件的方法
Apr 30 PHP
PHP里面把16进制的图片数据显示在html的img标签上(实现方法)
May 02 PHP
PHP实现UTF8二进制及明文字符串的转化功能示例
Nov 20 PHP
PHP Class SoapClient not found解决方法
Jan 20 PHP
php过滤htmlspecialchars() 函数实现把预定义的字符转换为 HTML 实体用法分析
Jun 25 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
Feb 18 PHP
如何通过Apache在本地配置多个虚拟主机
Jul 29 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
一个程序下载的管理程序(二)
2006/10/09 PHP
自动分页的不完整解决方案
2007/01/12 PHP
PHP 编写大型网站问题集
2010/05/07 PHP
php简单统计字符串单词数量的方法
2015/06/19 PHP
用JTrackBar实现的模拟苹果风格的滚动条
2007/08/06 Javascript
用示例说明filter()与find()的用法以及children()与find()的区别分析
2013/04/26 Javascript
JQuery Highcharts 动态生成图表的方法
2013/11/15 Javascript
浅析Javascript中bind()方法的使用与实现
2016/04/29 Javascript
jQuery制作网页版选项卡
2016/07/28 Javascript
js实现为a标签添加事件的方法(使用闭包循环)
2016/08/02 Javascript
图解Javascript——作用域、作用域链、闭包
2017/03/21 Javascript
JavaScript实现三级联动菜单实例代码
2017/06/26 Javascript
js实现轮播图的两种方式(构造函数、面向对象)
2017/09/30 Javascript
element 结合vue 在表单验证时有值却提示错误的解决办法
2018/01/22 Javascript
用jquery获取select标签中选中的option值及文本的示例
2018/01/25 jQuery
js中el表达式的使用和非空判断方法
2018/03/28 Javascript
浅谈JS和jQuery的区别
2019/03/27 jQuery
webpack项目使用eslint建立代码规范实现
2019/05/16 Javascript
如何在Angular8.0下使用ngx-translate进行国际化配置
2019/07/24 Javascript
JS代码检查工具ESLint介绍与使用方法
2020/02/04 Javascript
Javascript执行上下文顺序的深入讲解
2020/11/04 Javascript
如何在sae中设置django,让sae的工作环境跟本地python环境一致
2017/11/21 Python
在Python中获取操作系统的进程信息
2019/08/27 Python
Python 过滤错误log并导出的实例
2019/12/26 Python
pycharm中import呈现灰色原因的解决方法
2020/03/04 Python
自定义Django_rest_framework_jwt登陆错误返回的解决
2020/10/18 Python
Python 调用 ES、Solr、Phoenix的示例代码
2020/11/23 Python
Shopee菲律宾:在线购买和出售
2019/11/25 全球购物
什么是Deployment descriptors;都有什么类型的部署描述符
2015/07/28 面试题
如何利用cmp命令比较文件
2013/09/23 面试题
工程管理专业毕业生自荐信
2014/01/24 职场文书
职业生涯规划书范文
2014/03/10 职场文书
2014年教师节活动总结
2014/08/29 职场文书
竞选学习委员演讲稿
2014/09/01 职场文书
2015年学校教育教学工作总结
2015/04/22 职场文书
详解MySQL中的主键与事务
2021/05/27 MySQL