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 相关文章推荐
php中截取字符串支持utf-8
Jan 18 PHP
php学习笔记 类的声明与对象实例化
Jun 13 PHP
PHP使用数组实现队列
Feb 05 PHP
PHP 第一节 php简介
Apr 28 PHP
smarty中英文多编码字符截取乱码问题解决方法
Oct 28 PHP
php实现插入排序
Mar 29 PHP
PHP7安装Redis扩展教程【Linux与Windows平台】
Sep 30 PHP
PHP实现的数组和XML文件相互转换功能示例
Mar 15 PHP
PHP多维数组指定多字段排序的示例代码
May 16 PHP
php获得刚插入数据的id 的几种方法总结
May 31 PHP
php往mysql中批量插入数据实例教程
Dec 12 PHP
php设计模式之原型模式分析【星际争霸游戏案例】
Mar 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上传文件参考配置大文件上传
2015/12/16 PHP
php实现基于pdo的事务处理方法示例
2017/07/21 PHP
PHP微信开发之微信录音临时转永久存储
2018/01/26 PHP
详解阿里云视频直播PHP-SDK接入教程
2020/07/09 PHP
textarea中的手动换行处理的jquery代码
2011/02/26 Javascript
使用javascipt---实现二分查找法
2013/04/10 Javascript
javascript数组操作总结和属性、方法介绍
2014/04/05 Javascript
jquery实现的3D旋转木马特效代码分享
2015/08/25 Javascript
Bootstrap Navbar Component实现响应式导航
2016/10/08 Javascript
bootstrap提示标签、提示框实现代码
2016/12/28 Javascript
jQuery实现搜索页面关键字的功能
2017/02/16 Javascript
JS实现侧边栏鼠标经过弹出框+缓冲效果
2017/03/29 Javascript
JQuery.dataTables表格插件添加跳转到指定页
2017/06/09 jQuery
angular.js中解决跨域问题的三种方式
2017/07/12 Javascript
layer弹出层显示在top顶层的方法
2019/09/11 Javascript
javascript 高级语法之继承的基本使用方法示例
2019/11/11 Javascript
vue 实现图片懒加载功能
2020/12/31 Vue.js
[49:31]TFT vs Mski Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
[06:49]2018DOTA2国际邀请赛寻真——VirtusPro傲视群雄
2018/08/12 DOTA
Python基础中所出现的异常报错总结
2016/11/19 Python
TensorFlow实现MLP多层感知机模型
2018/03/09 Python
Python读写及备份oracle数据库操作示例
2018/05/17 Python
用Python将mysql数据导出成json的方法
2018/08/21 Python
Python cv2 图像自适应灰度直方图均衡化处理方法
2018/12/07 Python
Python列表list常用内建函数实例小结
2019/10/22 Python
给Django Admin添加验证码和多次登录尝试限制的实现
2020/07/26 Python
利用Python实现斐波那契数列的方法实例
2020/07/26 Python
基于python实现复制文件并重命名
2020/09/16 Python
Python fileinput模块如何逐行读取多个文件
2020/10/05 Python
Python爬虫后获取重定向url的两种方法
2021/01/19 Python
HTML5组件Canvas实现图像灰度化(步骤+实例效果)
2013/04/22 HTML / CSS
总经理职责范文
2013/11/08 职场文书
学校总务处领导班子民主生活会对照检查材料思想汇报
2014/09/27 职场文书
2016年学校综治宣传月活动总结
2016/03/16 职场文书
Python内置的数据类型及使用方法
2022/04/13 Python
table不让td文字溢出操作方法
2022/12/24 HTML / CSS