CURL的使用
CURL(Client URL)的使用流程:
1. curl_init():初始化cURL;
2. curl_exec():向服务器发送请求,接收服务器数据;
3. curl_close():关闭cURL.
一、CURL的常见的两种使用方式
1. GET方式
/** * CURL GET方式向开放平台请求相关信息 * @param [string] $url 抓取的url * @param [array] $header 头信息 * @return [string] $data 返回的结果 */ static function curlGet($url, $header){ $curl = curl_init();//初始化 curl_setopt($curl, CURLOPT_URL, $url);//设置抓取的url curl_setopt($curl, CURLOPT_HTTPHEADER, $header); //设置头信息的地方 curl_setopt($curl, CURLOPT_HEADER, false);//设置头文件的信息作为数据流输出 curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);//设置获取的信息以文件流的形式返回,而不是直接输出 $data = curl_exec($curl);//执行命令 curl_close($curl);//关闭URL请求 return $data; }
2. POST方式
/** * CURL POST方式向开放平台请求相关信息 * @param [string] $url 抓取的url * @param [array] $header 头信息 * @param [string] $post_data 附加的post数据 * @return [string] $data 返回的结果 */ static function curlPost($url, $header, $post_data){ $curl = curl_init();//初始化 curl_setopt($curl, CURLOPT_URL, $url);//设置抓取的url curl_setopt($curl, CURLOPT_HTTPHEADER, $header); //设置头信息的地方 curl_setopt($curl, CURLOPT_HEADER, false);//设置头文件的信息作为数据流输出 curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);//设置获取的信息以文件流的形式返回,而不是直接输出 curl_setopt($curl, CURLOPT_POST, true);//设置post方式提交 curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);//设置post数据 $data = curl_exec($curl);//执行命令 curl_close($curl);//关闭URL请求 return $data; }
二、CURL的其他应用
1. 作为爬虫去获取网页内容
<?php $curlobj = curl_init(); //初始化 curl_setopt($curlobj, CURLOPT_URL, "http://www.baidu.com"); // 设置访问网页的URL curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, true); // 执行之后不直接打印出来 $output = curl_exec($curlobj); // 执行 curl_close($curlobj); // 关闭cURL ?>