一、curl的优势
你也许会说,在php中可以很容易的获取某个url的内容,只要通过file_get_contents,file或者readfile函数就能轻松实现,根本不必使用cURL:
代码如下:
$content = file_get_contents("http://www.360weboy.com");
$lines = file("http://www.360weboy.com");
readfile("http://www.360weboy.com");
没错,以上函数在某些情况下使用起来确实很方便,但是我感觉这几个函数不够灵活,也没法进行错误处理。而且,如果遇到要在php程序中向某个服务器提交表单数据,上传文件,处理cookies或者认证等任务时,以上三个函数根本无法胜任。这个时候,cURL就体现它的价值了。
cURl不但支持很多的网络协议,而且提供了关于url请求的具体信息,很强大!
二、curl的简单使用步骤
要使用cURL来发送url请求,具体步骤大体分为以下四步:
1.初始化
2.设置请求选项
3.执行一个cURL会话并且获取相关回复
4.释放cURL句柄,关闭一个cURL会话
代码如下:
// 1. 初始化一个cURL会话
$ch = curl_init();
// 2. 设置请求选项, 包括具体的url
curl_setopt($ch, CURLOPT_URL, "http://www.360weboy.com");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
// 3. 执行一个cURL会话并且获取相关回复
$response = curl_exec($ch);
// 4. 释放cURL句柄,关闭一个cURL会话
curl_close($ch);
cURL之所以强大,正是体现在第二个步骤中。你可以通过curl_setopt灵活地设置请求选项,这里面有很多的可选项,具体可以参考http://cn2.php.net/manual/zh/function.curl-setopt.php
三、错误处理
在上述代码中,你也可以增加错误处理的代码:
代码如下:
$response = curl_exec($ch);
if ($response === FALSE) {
echo "cURL 具体出错信息: " . curl_error($ch);
}
注意了,在做上述判断时务必要使用===,因为请求的回复可能是空字符串,curl在请求出错的情况下回返回FALSE值,所以我们必须使用===,而不是==。
四、获取curl请求的具体信息
新闻热点
疑难解答