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下对字符串的递增运算代码
Aug 21 PHP
深入理解PHP原理之错误抑制与内嵌HTML分析
May 02 PHP
支持中文的php加密解密类代码
Nov 27 PHP
php删除与复制文件夹及其文件夹下所有文件的实现代码
Jan 23 PHP
php数组的概述及分类与声明代码演示
Feb 26 PHP
php中get_headers函数的作用及用法的详细介绍
Apr 27 PHP
ThinkPHP3.1新特性之内容解析输出详解
Jun 19 PHP
Yii框架调试心得--在页面输出执行sql语句
Dec 25 PHP
PHP读取txt文本文件并分页显示的方法
Mar 11 PHP
php实现面包屑导航例子分享
Dec 19 PHP
PHP实现适用于自定义的验证码类
Jun 15 PHP
CI框架简单分页类用法示例
Jun 06 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+js实现异步图片上传实例分享
2014/06/02 PHP
浅谈thinkphp的实例化模型
2015/01/04 PHP
PHP多维数组转一维数组的简单实现方法
2015/12/23 PHP
php-fpm开启状态统计的方法详解
2017/06/23 PHP
asp.net中System.Timers.Timer的使用方法
2013/03/20 Javascript
怎么清空javascript数组
2013/05/11 Javascript
用js来刷新当前页面保留参数的具体实现
2013/12/23 Javascript
浅谈Javascript Base64 加密解密
2014/12/28 Javascript
jquery制作 随机弹跳的小球特效
2015/02/01 Javascript
jQuery使用attr()方法同时设置多个属性值用法实例
2015/03/26 Javascript
JS+CSS实现简易实用的滑动门菜单效果
2015/09/18 Javascript
javascript检查某个元素在数组中的索引值
2016/03/30 Javascript
javascript实现标签切换代码示例
2016/05/22 Javascript
Vue过滤器的用法和自定义过滤器使用
2017/02/08 Javascript
微信小程序 引用其他js文件实现代码
2017/02/22 Javascript
JavaScript实现淘宝京东6位数字支付密码效果
2018/08/18 Javascript
angular 未登录状态拦截路由跳转的方法
2018/10/09 Javascript
Vue 通过公共字段,拼接两个对象数组的实例
2019/11/07 Javascript
24个ES6方法解决JS实际开发问题(小结)
2020/05/31 Javascript
vue-cli 关闭热更新操作
2020/09/18 Javascript
Javascript异步流程控制之串行执行详解
2020/09/27 Javascript
[48:30]LGD vs infamous Supermajor小组赛D组 BO3 第一场 6.3
2018/06/04 DOTA
在Python的Django框架中用流响应生成CSV文件的教程
2015/05/02 Python
django反向解析和正向解析的方式
2018/06/05 Python
python学习——内置函数、数据结构、标准库的技巧(推荐)
2019/04/18 Python
Python开发之身份证验证库id_validator验证身份证号合法性及根据身份证号返回住址年龄等信息
2020/03/20 Python
keras中的backend.clip用法
2020/05/22 Python
keras实现调用自己训练的模型,并去掉全连接层
2020/06/09 Python
利用简洁的图片预加载组件提升html5移动页面的用户体验
2016/03/11 HTML / CSS
说出你对remoting 和webservice的理解和应用
2014/06/08 面试题
如何防止同一个帐户被多人同时登录
2013/08/01 面试题
销售顾问工作计划书
2014/08/15 职场文书
先进个人材料怎么写
2014/12/30 职场文书
《金钱的魔力》教学反思
2016/02/20 职场文书
2019大学生暑期实习心得总结
2019/08/21 职场文书
详解SQL的窗口函数
2022/04/21 Oracle