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 相关文章推荐
vBulletin Forum 2.3.xx SQL Injection
Oct 09 PHP
php empty()与isset()区别的详细介绍
Jun 17 PHP
php比较两个绝对时间的大小
Jan 31 PHP
PHP 面向对象程序设计(oop)学习笔记(一) - 抽象类、对象接口、instanceof 和契约式编程
Jun 12 PHP
基于递归实现的php树形菜单代码
Nov 19 PHP
php简单实现短网址(短链)还原的方法(测试可用)
May 09 PHP
php 常用的系统函数
Feb 07 PHP
php简单随机字符串生成方法示例
Apr 19 PHP
PHP实现用户登录的案例代码
May 10 PHP
PHP如何搭建百度Ueditor富文本编辑器
Sep 21 PHP
浅谈Laravel中的三种中间件的作用
Oct 13 PHP
Thinkphp 框架扩展之标签库驱动原理与用法分析
Apr 23 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获取163、gmail、126等邮箱联系人地址【已测试2009.10.10】
2009/10/11 PHP
PHP图片等比例缩放生成缩略图函数分享
2014/06/10 PHP
采用memcache在web集群中实现session的同步会话
2014/07/05 PHP
在IIS下安装PHP扩展的方法(超简单)
2017/04/10 PHP
php用xpath解析html的代码实例讲解
2019/02/14 PHP
基于jquery用于查询操作的实现代码
2010/05/10 Javascript
jquery使用ColorBox弹出图片组浏览层实例演示
2013/03/14 Javascript
Jquery 改变radio/checkbox选中状态,获取选中的值(示例代码)
2013/12/12 Javascript
jQuery.holdReady()使用方法
2014/05/20 Javascript
被遗忘的javascript的slice() 方法
2015/04/20 Javascript
js跨域请求数据的3种常用的方法
2015/12/01 Javascript
解析NodeJs的调试方法
2016/12/11 NodeJs
node.js爬虫爬取拉勾网职位信息
2017/03/14 Javascript
浅谈Vuex的状态管理(全家桶)
2017/11/04 Javascript
react以create-react-app为基础创建项目
2018/03/14 Javascript
基于vue-video-player自定义播放器的方法
2018/03/21 Javascript
原生JS实现自定义下拉单选选择框功能
2018/10/12 Javascript
Vue动态路由缓存不相互影响的解决办法
2019/02/19 Javascript
layui select 禁止点击的实现方法
2019/09/05 Javascript
Node.js API详解之 dns模块用法实例分析
2020/05/15 Javascript
Vue实现简单的跑马灯
2020/05/25 Javascript
uniapp与webview之间的相互传值的实现
2020/06/29 Javascript
[36:20]KG vs SECRET 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
python动态监控日志内容的示例
2014/02/16 Python
Python装饰器原理与简单用法实例分析
2018/04/29 Python
Python获取对象属性的几种方式小结
2020/03/12 Python
详解appium自动化测试工具(monitor、uiautomatorviewer)
2021/01/27 Python
一级方程式赛车官方网上商店:F1 Store(支持中文)
2018/01/12 全球购物
美国最大的在线寄售和旧货店:Swap.com
2018/08/27 全球购物
Linux中如何用命令创建目录
2015/01/12 面试题
建筑文秘专业个人求职信范文
2013/12/28 职场文书
社区道德讲堂实施方案
2014/03/21 职场文书
党员先进事迹材料
2014/12/19 职场文书
tensorflow+k-means聚类简单实现猫狗图像分类的方法
2021/04/28 Python
一劳永逸彻底解决pip install慢的办法
2021/05/24 Python
win10重装系统后上不了网怎么办 win10重装系统网络故障的解决办法
2022/07/23 数码科技