cURL
是一个利用URL
语法规定来传输文件和数据的工具,支持很多协议,如HTTP
、FTP
、TELNET
等。更让人高兴的是,PHP
也支持 cURL
库。本文将介绍PHP
中如何运用它。
基本结构
先来看一下在PHP
中建立cURL
请求的基本步骤:
-
初始化
-
设置变量
-
执行并获取结果
-
释放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 快速入门 在 PHP 开发中,cURL 库是一个非常重要的工具,它支持多种协议,如 HTTP、FTP、TELNET 等,使得开发者可以轻松地从网络上获取数据。下面将详细介绍 cURL 的基本使用和高级特性。 一、为...
【cURL快速入门教程】 cURL,全称Client URL Library,是一个开源的库,它允许开发者通过URL语法在各种协议之间传输数据,如HTTP、FTP、TELNET等。cURL在PHP中的应用广泛,尤其在制作小偷程序或网页抓取时非常有用...
### 基于PHP的cURL快速入门 #### 一、引言 cURL是一个功能强大的工具库,它能够利用URL语法规定来传输文件和数据,并且支持多种协议,包括但不限于HTTP、FTP、TELNET等。cURL在PHP中的集成使得开发者能够轻松地...
**PHP快速入门** PHP(Hypertext Preprocessor,超文本预处理器)是一种广泛使用的开源脚本语言,尤其适合于Web开发,可以嵌入到HTML中使用。PHP的主要目标是使服务器端的脚本编写变得更加简单,它支持多种数据库,...
在本文中,我们将详细介绍PHP中curl的基本使用方法,包括curl的概念、安装过程、以及在PHP中使用curl的四个基本步骤,并且通过一个简单的代码示例来展示如何利用curl来抓取网页内容。 首先,我们需要对curl有一个...
快速入门和示例下有更多。 require __DIR__ . '/vendor/autoload.php' ;use Curl \ Curl ;$ curl = new Curl ();$ curl -> get ( 'https://www.example.com/' );if ( $ curl -> error ) { echo 'Error: ' . $ curl -...
curl入门级学习案例,学习curl操作.cURL是一个利用URL语法在命令行下工作的文件传输工具,1997年首次发行。它支持文件上传和下载,所以是综合传输工具,但按传统,习惯称cURL为下载工具。cURL还包含了用于程序开发的...
《PHP从入门到精通3》是一本旨在帮助初学者快速掌握PHP编程技能的教程,随书光盘提供了丰富的学习资源,使读者能够结合理论与实践,深入理解PHP语言的核心概念和实际应用。以下是对该书及光盘内容的详细解析: 1. *...
ThinkPHP5.0的环境配置需求包括PHP版本至少为5.4.0,以及需要启用PDO和CURL扩展。手册提供了两种安装方法:通过官方网站下载稳定版本,或者通过Git服务器克隆最新版本到本地。如果使用Composer安装,还可以通过...
根据提供的信息,我们可以总结出关于 ThinkPHP5.0 快速入门文档的关键知识点: ### 一、ThinkPHP5.0简介 ThinkPHP5.0 是一个高性能、面向对象的 PHP 框架,旨在简化 Web 开发过程。该版本采用了全新的架构设计,...