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&&mysql)四
Oct 09 PHP
一个取得文件扩展名的函数
Oct 09 PHP
php处理斐波那契数列非递归方法
Feb 04 PHP
php实现邮件发送并带有附件
Jan 24 PHP
php中explode函数用法分析
Nov 15 PHP
php获取twitter最新消息的方法
Apr 14 PHP
以实例全面讲解PHP中多进程编程的相关函数的使用
Aug 18 PHP
thinkphp中多表查询中防止数据重复的sql语句(必看)
Sep 22 PHP
thinkPHP分页功能实例详解
May 05 PHP
PHP双向链表定义与用法示例
Jan 31 PHP
thinkPHP框架实现的简单计算器示例
Dec 07 PHP
PHP fopen中文文件名乱码问题解决方案
Oct 28 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
phpMyAdmin链接MySql错误 个人解决方案
2009/12/28 PHP
PHP MemCached高级缓存配置图文教程
2010/08/05 PHP
制作特殊字的脚本
2006/06/26 Javascript
DOMAssitant最新版 DOMAssistant 2.5发布
2007/12/25 Javascript
基于JQuery实现异步刷新的代码(转载)
2011/03/29 Javascript
js处理json以及字符串的比较等常用操作
2013/09/08 Javascript
extjs4 treepanel动态改变行高度示例
2013/12/17 Javascript
什么是 AngularJS?AngularJS简介
2014/12/06 Javascript
jQuery中replaceAll()方法用法实例
2015/01/16 Javascript
jQuery实现跨域iframe接口方法调用
2015/03/14 Javascript
JavaScript弹出对话框的三种方式
2016/03/23 Javascript
json对象转为字符串,当做参数传递时加密解密的实现方法
2016/06/29 Javascript
过期软件破解办法实例详解
2017/01/04 Javascript
js模拟F11页面全屏显示
2019/09/17 Javascript
Vue组件为什么data必须是一个函数
2020/06/11 Javascript
[48:38]DOTA2亚洲邀请赛 3.31 小组赛 B组 Mineski vs Secret
2018/03/31 DOTA
python连接池实现示例程序
2013/11/26 Python
Python测试人员需要掌握的知识
2018/02/08 Python
Python面向对象程序设计类的多态用法详解
2019/04/12 Python
Python爬虫 批量爬取下载抖音视频代码实例
2019/08/16 Python
pytorch打印网络结构的实例
2019/08/19 Python
python实现的接收邮件功能示例【基于网易POP3服务器】
2019/09/11 Python
浅析python redis的连接及相关操作
2019/11/07 Python
TensorFlow tf.nn.softmax_cross_entropy_with_logits的用法
2020/04/19 Python
Python JSON常用编解码方法代码实例
2020/09/05 Python
Django搭建项目实战与避坑细节详解
2020/12/06 Python
在数据文件自动增长时,自动增长是否会阻塞对文件的更新
2014/05/01 面试题
什么是托管函数?托管函数有什么用?
2014/06/15 面试题
计算机网络专业个人的自我评价
2013/10/17 职场文书
自荐信包含哪些内容
2013/10/30 职场文书
运动会广播稿20字
2014/02/18 职场文书
2014党员整改措施思想汇报
2014/10/07 职场文书
生鲜超市—未来中国最具有潜力零售业态
2019/08/02 职场文书
详解Go语言Slice作为函数参数的使用
2021/07/02 Golang
JavaScript获取URL参数的方法分享
2022/04/07 Javascript
python 闭包函数详细介绍
2022/04/19 Python