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 相关文章推荐
php 日期时间处理函数小结
Dec 18 PHP
PHP中读写文件实现代码
Oct 20 PHP
php文件打包 下载之使用PHP自带的ZipArchive压缩文件并下载打包好的文件
Jun 13 PHP
PDO版本问题 Invalid parameter number: no parameters were bound
Jan 06 PHP
PHP使用get_headers函数判断远程文件是否存在的方法
Nov 28 PHP
thinkphp文件处理类Dir.class.php的用法分析
Dec 08 PHP
php+mysql大量用户登录解决方案分析
Dec 29 PHP
php中使用gd库实现下载网页中所有图片
May 12 PHP
mysql desc(DESCRIBE)命令实例讲解
Sep 24 PHP
微信第三方登录(原生)demo【必看篇】
May 26 PHP
PHP hex2bin()函数用法讲解
Feb 25 PHP
laravel批量生成假数据的方法
Oct 09 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
慎用preg_replace危险的/e修饰符(一句话后门常用)
2013/06/19 PHP
YII路径的用法总结
2014/07/09 PHP
PHP指定截取字符串中的中英文或数字字符的实例分享
2016/03/18 PHP
thinkPHP+ajax实现统计页面pv浏览量的方法
2017/03/15 PHP
thinkPHP5.1框架路由::get、post请求简单用法示例
2019/05/06 PHP
Laravel 5.1 框架Blade模板引擎用法实例分析
2020/01/04 PHP
屏蔽F1~F12的快捷键的js函数
2010/05/06 Javascript
js局部刷新页面时间具体实现
2013/07/04 Javascript
js正则表达式中test,exec,match方法的区别说明
2014/01/29 Javascript
关于img的href和src取变量及赋值的方法
2014/04/28 Javascript
Javascript Memoizer浅析
2014/10/16 Javascript
windows8.1+iis8.5下安装node.js开发环境
2014/12/12 Javascript
JavaScript中eval()函数用法详解
2015/12/14 Javascript
Javascript中数组去重与拍平的方法示例
2017/02/03 Javascript
基于JS实现bookstore静态页面的实例代码
2017/02/22 Javascript
React Native实现进度条弹框的示例代码
2017/07/17 Javascript
小程序中canvas的drawImage方法参数使用详解
2019/07/04 Javascript
关于在LayUI中使用AJAX提交巨坑记录
2019/10/25 Javascript
vue 解决异步数据更新问题
2019/10/29 Javascript
vue新建项目并配置标准路由过程解析
2019/12/09 Javascript
[02:10]DOTA2亚洲邀请赛 EG战队出场宣传片
2015/02/07 DOTA
[59:00]OG vs TNC 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[03:00]2018完美盛典_最佳英雄奖
2018/12/17 DOTA
Python使用SocketServer模块编写基本服务器程序的教程
2016/07/12 Python
python模拟事件触发机制详解
2018/01/19 Python
对Python捕获控制台输出流的方法详解
2019/01/07 Python
浅析Python 实现一个自动化翻译和替换的工具
2019/04/14 Python
基于Django实现日志记录报错信息
2019/12/17 Python
详解pyqt5的UI中嵌入matplotlib图形并实时刷新(挖坑和填坑)
2020/08/07 Python
一文读懂Python 枚举
2020/08/25 Python
泰国的头号网上婴儿用品店:Motherhood.co.th
2019/04/09 全球购物
运动会方队口号
2014/06/07 职场文书
2014年财务人员工作总结
2014/11/11 职场文书
公司放假通知范文
2015/04/14 职场文书
边城读书笔记
2015/06/29 职场文书
B站评分公认最好看的动漫,你的名字评分9.9,第六备受喜欢
2022/03/18 日漫