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 相关文章推荐
文章推荐系统(三)
Oct 09 PHP
DedeCMS 核心类TypeLink.class.php摘要笔记
Apr 07 PHP
兼容性最强的PHP生成缩略图的函数代码(修改版)
Jan 18 PHP
php设计模式 Factory(工厂模式)
Jun 26 PHP
php流量统计功能的实现代码
Sep 29 PHP
php实现的通用图片处理类
Mar 24 PHP
PHP SOCKET编程详解
May 22 PHP
PHP里的单例类写法实例
Jun 25 PHP
详解PHP对象的串行化与反串行化
Jan 24 PHP
Ajax和PHP正则表达式验证表单及验证码
Sep 24 PHP
利用PHP判断是手机移动端还是PC端访问的函数示例
Dec 14 PHP
PHP扩展mcrypt实现的AES加密功能示例
Jan 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
Laravel 4 初级教程之Pages、表单验证
2014/10/30 PHP
php常用文件操作函数汇总
2014/11/22 PHP
PHP编程获取音频文件时长的方法【基于getid3类】
2017/04/20 PHP
JQUERY操作JSON实例代码
2010/02/09 Javascript
JavaScript Perfection kill 测试及答案
2010/03/23 Javascript
JavaScript mapreduce工作原理简析
2012/11/25 Javascript
js中的caller和callee属性介绍和例子
2014/06/07 Javascript
20个实用的JavaScript技巧分享
2014/11/28 Javascript
javascript数据结构之双链表插入排序实例详解
2015/11/25 Javascript
js如何判断输入字符串长度
2015/12/16 Javascript
微信小程序前端源码逻辑和工作流
2016/09/25 Javascript
Angular的$http的ajax的请求操作(推荐)
2017/01/10 Javascript
vue mixins组件复用的几种方式(小结)
2017/09/06 Javascript
详解webpack4多入口、多页面项目构建案例
2018/05/25 Javascript
vue中动态添加class类名的方法
2018/09/05 Javascript
VsCode与Node.js知识点详解
2019/09/05 Javascript
Vue移动端实现图片上传及超过1M压缩上传
2019/12/23 Javascript
JS图片懒加载技术实现过程解析
2020/07/27 Javascript
全面解读Python Web开发框架Django
2014/06/30 Python
Python批量转换文件编码格式
2015/05/17 Python
Python用Bottle轻量级框架进行Web开发
2016/06/08 Python
Python合并字典键值并去除重复元素的实例
2016/12/18 Python
python中文件变化监控示例(watchdog)
2017/10/16 Python
Python方法的延迟加载的示例代码
2017/12/18 Python
python opencv对图像进行旋转且不裁剪图片的实现方法
2019/07/09 Python
Python使用pyyaml模块处理yaml数据
2020/04/14 Python
h5网页水印SDK的实现代码示例
2019/02/19 HTML / CSS
德国知名健康零食网上商店:Seeberger
2017/07/27 全球购物
骨干教师培训制度
2014/01/13 职场文书
教师党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
党的群众路线教育实践活动心得体会范文
2014/11/05 职场文书
2014年银行信贷员工作总结
2014/12/08 职场文书
协议书范文
2015/01/27 职场文书
太行山上观后感
2015/06/05 职场文书
教师节主题班会教案
2015/08/17 职场文书
vue使用v-model进行跨组件绑定的基本实现方法
2021/04/28 Vue.js