`
wangshaofei
  • 浏览: 282329 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

php curl 快速入门

    博客分类:
  • php
阅读更多

     cURL 是一个利用URL 语法规定来传输文件和数据的工具,支持很多协议,如HTTPFTPTELNET 等。更让人高兴的是,PHP 也支持 cURL 库。本文将介绍PHP 中如何运用它。


基本结构

先来看一下在PHP 中建立cURL 请求的基本步骤:

  1. 初始化
  2. 设置变量
  3. 执行并获取结果
  4. 释放cURL 句柄


          1. 初始化

$ch = curl_init();


    2. 设置选项,包括URL

curl_setopt($ch, CURLOPT_URL, “http://www.nettuts.com”);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_HEADER, 0);


    3. 执行并获取HTML 文档内容

$output = curl_exec($ch);


    4. 释放curl 句柄

curl_close($ch);


    第二步(也就是 curl_setopt() )最为关键,有一长串cURL 参数可供设置,它们能指定URL 请求的各个细节。要一次性全部看完并理解可能比较困难,所以今天我们只试一下那些常用也更有用的选项。


检查错误

你可以加一段检查错误的语句(虽然这并不是必需的):

    // …

$output = curl_exec($ch);

if ($output === FALSE) {

echo “cURL Error: ” . curl_error($ch);

}

    // …

    注意,比较的时候我们用的是“=== FALSE” ,而非“== FALSE” 。因为我们得区分空输出和布尔值FALSE ,后者才是真正的错误。


POST 方法发送数据


    当发起GET 请求时,数据可以通过 查询字串query string )传递给一个URL 。例如,在google 中搜索时,搜索关键即为URL 的查询字串的一部分:

http://www.google.com/search?q=nettuts

这种情况下你可能并不需要cURL 来模拟。把这个URL 丢给“file_get_contents()” 就能得到相同结果。


    不过有一些HTML 表单是用POST 方法提交的。这种表单提交时,数据是通过 HTTP 请求体(request body ) 发送,而不是查询字串。例如,当使用CodeIgniter 论坛的表单,无论你输入什么关键字,总是被POST 到如下页面:

http://codeigniter.com/forums/do_search/

你可以用PHP 脚本来模拟这种URL 请求。首先,新建一个可以接受并显示POST 数据的文件,我们给它命名为post_output.php

print_r($_POST);

接下来,写一段PHP 脚本来执行cURL 请求:

$url = “http://localhost/post_output.php”;

$post_data = array (

“foo” => “bar”,

“query” => “Nettuts”,

“action” => “Submit”

);

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

// 我们在POST 数据哦!

curl_setopt($ch, CURLOPT_POST, 1);

// post 的变量加上

curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);

$output = curl_exec($ch);

curl_close($ch);

echo $output;

     这段脚本发送一个POST 请求给 post_output.php ,这个页面 $_POST 变量并返回,我们利用cURL 捕捉了这个输出。


小结

    今天我们一起学习了cURL 库。希望你喜欢。下一次如果要发起URL 请求时,请考虑下cURL 吧!

 

分享到:
评论

相关推荐

    基于PHP的cURL快速入门.doc

    基于 PHP 的 cURL 快速入门 在 PHP 开发中,cURL 库是一个非常重要的工具,它支持多种协议,如 HTTP、FTP、TELNET 等,使得开发者可以轻松地从网络上获取数据。下面将详细介绍 cURL 的基本使用和高级特性。 一、为...

    基于PHP的cURL快速入门教程 (小偷采集程序)

    【cURL快速入门教程】 cURL,全称Client URL Library,是一个开源的库,它允许开发者通过URL语法在各种协议之间传输数据,如HTTP、FTP、TELNET等。cURL在PHP中的应用广泛,尤其在制作小偷程序或网页抓取时非常有用...

    基于PHP的cURL快速入门.pdf

    ### 基于PHP的cURL快速入门 #### 一、引言 cURL是一个功能强大的工具库,它能够利用URL语法规定来传输文件和数据,并且支持多种协议,包括但不限于HTTP、FTP、TELNET等。cURL在PHP中的集成使得开发者能够轻松地...

    PHP快速入门

    **PHP快速入门** PHP(Hypertext Preprocessor,超文本预处理器)是一种广泛使用的开源脚本语言,尤其适合于Web开发,可以嵌入到HTML中使用。PHP的主要目标是使服务器端的脚本编写变得更加简单,它支持多种数据库,...

    PHP中使用curl入门教程

    在本文中,我们将详细介绍PHP中curl的基本使用方法,包括curl的概念、安装过程、以及在PHP中使用curl的四个基本步骤,并且通过一个简单的代码示例来展示如何利用curl来抓取网页内容。 首先,我们需要对curl有一个...

    php-curl-class:PHP Curl类使发送HTTP请求和与Web API集成变得容易

    快速入门和示例下有更多。 require __DIR__ . '/vendor/autoload.php' ;use Curl \ Curl ;$ curl = new Curl ();$ curl -> get ( 'https://www.example.com/' );if ( $ curl -> error ) { echo 'Error: ' . $ curl -...

    curl入门例子,PHP开发的...

    curl入门级学习案例,学习curl操作.cURL是一个利用URL语法在命令行下工作的文件传输工具,1997年首次发行。它支持文件上传和下载,所以是综合传输工具,但按传统,习惯称cURL为下载工具。cURL还包含了用于程序开发的...

    PHP从入门到精通3 随书光盘

    《PHP从入门到精通3》是一本旨在帮助初学者快速掌握PHP编程技能的教程,随书光盘提供了丰富的学习资源,使读者能够结合理论与实践,深入理解PHP语言的核心概念和实际应用。以下是对该书及光盘内容的详细解析: 1. *...

    ThinkPHP5.0-快速入门手册(新手教程版).pdf

    ThinkPHP5.0的环境配置需求包括PHP版本至少为5.4.0,以及需要启用PDO和CURL扩展。手册提供了两种安装方法:通过官方网站下载稳定版本,或者通过Git服务器克隆最新版本到本地。如果使用Composer安装,还可以通过...

    thinkphp5.0快速入门文档PDF

    根据提供的信息,我们可以总结出关于 ThinkPHP5.0 快速入门文档的关键知识点: ### 一、ThinkPHP5.0简介 ThinkPHP5.0 是一个高性能、面向对象的 PHP 框架,旨在简化 Web 开发过程。该版本采用了全新的架构设计,...

Global site tag (gtag.js) - Google Analytics