php中curl和file_get_content的区别


Posted in PHP onMay 10, 2014

直到最近,要做一个网页小偷程序的时候才发现file_get_content已经完全不能满足需求了。我觉得,在读取远程内容的时候,file_get_content除了使用比curl便捷以外,其他都没有curl好。

主要区别:

学习才发现,curl支持很多协议,有FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE以及LDAP,也就是说,它能做到很多file_get_content做不到的事情。curl在php可以实现远程获取和采集内容;实现PHP网页版的FTP上传下载;实现模拟登陆;实现接口对接(API),数据传输;实现模拟Cookie;下载文件断点续传等等,功能十分强大。

了解curl一些基本的使用后,才发现其实并不难,只不过记住里面一些设置参数,难弄一点,但是我们记住几个常用的就可以了。

开启curl:

因为PHP默认是不支持curl功能的,因此如果要用curl的话,首先需要在php.ini中开启该功能,即去掉 ;extension= php_curl.dll 前面的分号,然后保存后重启apache/iis就好了。

基本语法:

$my_curl = curl_init();    //初始化一个curl对象
curl_setopt($my_curl, CURLOPT_URL, "https://3water.com");    //设置你需要抓取的URL
curl_setopt($my_curl,CURLOPT_RETURNTRANSFER,1);    //设置是将结果保存到字符串中还是输出到屏幕上,1表示将结果保存到字符串
$str = curl_exec($curl);    //执行请求
echo $str;    //输出抓取的结果
curl_close($curl);    //关闭url请求

 
PHP 相关文章推荐
详细介绍:Apache+PHP+MySQL配置攻略
Sep 05 PHP
PHPMyadmin 配置文件详解(配置)
Dec 03 PHP
Warning: session_destroy() : Trying to destroy uninitialized sessionq错误
Jun 16 PHP
php中动态修改ini配置
Oct 14 PHP
php文件缓存类用法实例分析
Apr 22 PHP
PHP解密Unicode及Escape加密字符串
May 17 PHP
php获取远程文件内容的函数
Nov 02 PHP
php下载文件,添加响应头的简单实例
Sep 22 PHP
php PDO实现的事务回滚示例
Mar 23 PHP
PHP实现无限极分类的两种方式示例【递归和引用方式】
Mar 25 PHP
Yii框架多语言站点配置方法分析【中文/英文切换站点】
Apr 07 PHP
详解Laravel服务容器的优势
May 29 PHP
php实现文件下载功能的几个代码分享
May 10 #PHP
php按百分比生成缩略图的代码分享
May 10 #PHP
PHP数字字符串左侧补0、字符串填充和自动补齐的几种方法
May 10 #PHP
php下获取http状态的实现代码
May 09 #PHP
PHP防范SQL注入的具体方法详解(测试通过)
May 09 #PHP
简单的php新闻发布系统教程
May 09 #PHP
php下载文件源代码(强制任意文件格式下载)
May 09 #PHP
You might like
joomla jce editor 解决上传中文名文件失败问题
2013/06/09 PHP
php目录遍历函数opendir用法实例
2014/11/20 PHP
PHP常用的三种设计模式汇总
2016/08/28 PHP
yii框架无限极分类的实现方法
2017/04/08 PHP
CodeIgniter整合Smarty的方法详解
2017/08/25 PHP
详解PHP swoole process的使用方法
2017/08/26 PHP
有关PHP 中 config.m4 的探索
2020/08/26 PHP
基于jquery的direction图片渐变动画效果
2010/05/24 Javascript
filters.revealTrans.Transition使用方法小结
2010/08/19 Javascript
IE下支持文本框和密码框placeholder效果的JQuery插件分享
2015/01/31 Javascript
对比分析AngularJS中的$http.post与jQuery.post的区别
2015/02/27 Javascript
javascript中eval函数用法分析
2015/04/25 Javascript
基于jQuery通过jQuery.form.js插件实现异步上传
2015/12/13 Javascript
js确认框confirm()用法实例详解
2016/01/07 Javascript
bootstrap和jQuery.Gantt的css冲突 如何解决
2016/05/29 Javascript
JavaScript检测原始值、引用值、属性
2016/06/20 Javascript
vue实现移动端图片上传功能
2019/12/23 Javascript
Vue 样式切换及三元判断样式关联操作
2020/08/09 Javascript
node中短信api实现验证码登录的示例代码
2021/01/20 Javascript
[05:46]DOTA2英雄梦之声_第18期_陈
2014/06/20 DOTA
python 文件操作api(文件操作函数)
2016/08/28 Python
Pandas GroupBy对象 索引与迭代方法
2018/11/16 Python
Python实现的文轩网爬虫完整示例
2019/05/16 Python
pytorch自定义初始化权重的方法
2019/08/17 Python
Pytorch卷积层手动初始化权值的实例
2019/08/17 Python
Python3 Click模块的使用方法详解
2020/02/12 Python
Python填充任意颜色,不同算法时间差异分析说明
2020/05/16 Python
如何使用Python自动生成报表并以邮件发送
2020/10/15 Python
html5移动端价格输入键盘的实现
2019/09/16 HTML / CSS
Expedia韩国官网:亚洲发展最快的在线旅游门户网站
2018/02/26 全球购物
应届生法律顾问求职信
2013/11/19 职场文书
电子信息工程专业推荐信
2014/02/14 职场文书
《英英学古诗》教学反思
2014/04/11 职场文书
反对四风问题自我剖析材料
2014/09/29 职场文书
运动会闭幕词
2015/01/28 职场文书
小学二年级语文教学反思
2016/03/03 职场文书