Php如何使用curl

cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP、FTP、TELNET等。最爽的是,PHP也支持 cURL 库。本文将介绍 cURL 的一些高级特性,以及在PHP中如何运用它。

 

为什么要用 cURL?

 

是的,我们可以通过其他办法获取网页内容。大多数时候,都直接用简单的PHP函数:

 

$content = file_get_contents("http://www.nettuts.com");

// or

$lines = file("http://www. baidu.com");

// or

readfile(http://www.baidu.com);

 

不过,这种做法缺乏灵活性和有效的错误处理。而且,你也不能用它完成一些高难度任务——比如处理coockies、验证、表单提交、文件上传等等。

 

引用:

cURL 是一种功能强大的库,支持很多不同的协议、选项,能提供 URL 请求相关的各种细节信息。

 

基本结构

 

在学习更为复杂的功能之前,先来看一下在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,后者才是真正的错误。

@网络

文章来源:刘俊涛的博客

地址:http://www.cnblogs.com/lovebing

欢迎关注,有问题一起学习欢迎留言、评论。

原文地址:https://www.cnblogs.com/lovebing/p/8269560.html