PHP curl使用实例


Posted in PHP onJuly 02, 2015

概述

本博客的前面两篇文章:curl和libcurl简介以及PHP中使用curl对PHP中curl的使用做了简单介绍,但是PHP中curl的使用却并不简单,尤其是curl的各种配置项,本篇文章会讲解几个PHP的实例,以便大家更好的理解curl。

实例:抓取页面

使用curl抓取页面相对来说比较简单,但是这里有一点需要注意的是,curl默认会将抓取的页面直接输出到浏览器。然而,我们经常遇到的情况是获取抓取的内容,对内容做一定的处理之后再进行操作。因此,这里写出两种不同的情况。

直接输出到浏览器

<?php

 $url="www.baidu.com";

 $ch=curl_init();

 curl_setopt($ch,CURLOPT_URL,$url);

 curl_exec($ch);

 curl_close($ch);

?>

运行上面这段代码,我们会直接看到百度首页。

不直接输出到浏览器

如果我们不想让curl抓取的内容直接输出到浏览器,那么就需要设置curl的“CURLOPT_RETURNTRANSFER”为true,这样curl抓取的内容会作为curl_exec()函数的返回值出现。

<?php

 $url="www.baidu.com";

 $content='';

 $ch=curl_init();

 curl_setopt($ch,CURLOPT_URL,$url);

 curl_setopt($ch, CURLOPT_RETURNTRANSFER,TRUE);

 /*

  *根据手册来看,好像PHP5.1.3以前的版本还需要配合CURLOPT_BINARYTRANSFER一起使用,

  *但是5.1.3以后的版本中,该配置项已经被废弃了。

  */

 //curl_setopt($ch, CURLOPT_BINARYTRANSFER,TRUE);

 $content=curl_exec($ch);

 var_dump($content);

 curl_close($ch);

?>

运行代码,我们可以看到页面输出了获取的网页源码。
PHP 相关文章推荐
ThinkPHP之getField详解
Jun 20 PHP
简单分析ucenter 会员同步登录通信原理
Aug 25 PHP
php获取twitter最新消息的方法
Apr 14 PHP
PHP用反撇号执行外部命令
Apr 14 PHP
浅析PHP中call user func()函数及如何使用call user func调用自定义函数
Nov 05 PHP
分析PHP中单双引号的误区和双引号小隐患
Jul 19 PHP
PHP文件上传操作实例详解
Sep 27 PHP
php封装的表单验证类完整实例
Oct 19 PHP
PHP使用GD库输出汉字的方法【测试可用】
Nov 10 PHP
thinkphp 抓取网站的内容并且保存到本地的实例详解
Aug 25 PHP
PHP命名空间与自动加载类详解
Sep 04 PHP
laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子
Nov 14 PHP
PHP中使用curl入门教程
Jul 02 #PHP
Smarty最简单实现列表奇偶变色的方法
Jul 01 #PHP
PHP中的常见魔术方法功能作用及用法实例
Jul 01 #PHP
PHP获取文件夹大小函数用法实例
Jul 01 #PHP
Thinkphp模板标签if和eq的区别和比较实例分析
Jul 01 #PHP
ThinkPHP V2.2说明文档没有说明的那些事实例小结
Jul 01 #PHP
PHP判断是否连接上网络的方法
Jul 01 #PHP
You might like
关于php正则匹配汉字的方法介绍
2013/04/25 PHP
php写的AES加密解密类分享
2014/06/20 PHP
PHP使用GIFEncoder类生成gif动态滚动字幕
2014/07/01 PHP
PHP获取数组中重复最多的元素的实现方法
2014/11/11 PHP
分享五个PHP7性能优化提升技巧
2015/12/07 PHP
简单的php+mysql聊天室实现方法(附源码)
2016/01/05 PHP
Some tips of wmi scripting in jscript (1)
2007/04/03 Javascript
JS:window.onload的使用介绍
2013/11/13 Javascript
showModalDialog模态对话框的使用详解以及浏览器兼容
2014/01/11 Javascript
代码获取历史上的今天发生的事
2014/04/11 Javascript
js 弹出新页面避免被浏览器、ad拦截的一种新方法
2014/04/30 Javascript
使用jsonp完美解决跨域问题
2014/11/27 Javascript
jquery操作复选框checkbox的方法汇总
2015/02/05 Javascript
JavaScript中的立即执行函数表达式介绍
2015/03/15 Javascript
js 弹出对话框(遮罩)透明,可拖动的简单实例
2016/07/11 Javascript
JS绘制微信小程序画布时钟
2016/12/24 Javascript
jQuery实现鼠标经过显示动画边框特效
2017/03/24 jQuery
浅谈Vue3 Composition API如何替换Vue Mixins
2020/04/29 Javascript
[32:39]完美世界DOTA2联赛循环赛 Forest vs Inki BO2第一场 11.04
2020/11/04 DOTA
python计算最大优先级队列实例
2013/12/18 Python
从零学python系列之浅谈pickle模块封装和拆封数据对象的方法
2014/05/23 Python
跟老齐学Python之传说中的函数编写条规
2014/10/11 Python
梯度下降法介绍及利用Python实现的方法示例
2017/07/12 Python
Python实现Event回调机制的方法
2019/02/13 Python
wxpython实现按钮切换界面的方法
2019/11/19 Python
python中有关时间日期格式转换问题
2019/12/25 Python
一款利用纯css3实现的360度翻转按钮的实例教程
2014/11/05 HTML / CSS
关于HTML5的安全问题开发人员需要牢记的
2012/06/21 HTML / CSS
美国玛丽莎收藏奢华时尚商店:Marissa Collections
2016/11/21 全球购物
迪卡侬印度官网:购买所有体育用品
2017/06/24 全球购物
Zavvi荷兰:英国大型音像制品和图书游戏零售商
2018/03/22 全球购物
如何提高JDBC的性能
2013/04/30 面试题
单位未婚证明范本
2014/01/18 职场文书
广播体操口号
2014/06/18 职场文书
2015年高一班主任工作总结
2015/05/13 职场文书
Rust 连接 PostgreSQL 数据库的详细过程
2022/01/22 PostgreSQL