background image

php curl 可以使用 URL 的语法模拟浏览器来传输数据

    cURL 可以使用 URL 的语法模拟浏览器来传输数据,因为它是模拟浏览器,因此它同
样 支 持 多 种 协 议 , FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE   以及 
LDAP 等协议都可以很好的支持,包括一些:HTTPS 认证,HTTP POST 方法,HTTP 
PUT 方法,FTP 上传,keyberos 认证,HTTP 上传,代理服务器,cookies,用户名/密
码认证,下载文件断点续传,上传文件断点续传,http 代理服务器管道,甚至它还支持
IPv6,scoket5 代理服务器,通过 http 代理服务器上传文件到 FTP 服务器等等。这就是
我们为什么要使用 cURL 的原因!

使用 cURL 完成简单的请求主要分为以下四步:

1.初始化,创建一个新 cURL 资源

2.设置 URL 和相应的选项

3.抓取 URL 并把它传递给浏览器

4.关闭 cURL 资源,并且释放系统资源

我们来采集一个页面,通常情况下,我们会使用 file_get_contents()函数来获取:

像这样:

 
<?php
 
$str = file_get_contents('http://bbs.lampbrother.net');
 
//或者是:
 
$str = file("http://bbs.lampbrother.net");
 
//或者是:
 
readfile("http://bbs.lampbrother.net");
 
?>

这样我们会发现,我们没有办法有效地进行错误处理,更重要的是我们没有办法完成一
些高难度的任务:

如:处理 cookies,验证,表单提交,文件上传等等。

好,现在我们来用代码完成上述 cURL 的四步: