标签:http io os ar 文件 数据 cti on c
/**
+----------------------------------------------------------
* CURL
+----------------------------------------------------------
* @param string$url 请求的URL
* @param string|array$post POST数据
* @param string|array$cookie COOKIE数据
* @param string$cookieFile 记录COOKIE的文件名
* @param string$referer 来源页
+----------------------------------------------------------
* @return string
+----------------------------------------------------------
*/
function mycurl($url ,$post=‘‘ ,$cookie=‘‘ ,$cookieFile=‘‘ ,$referer=‘‘){
$curl = curl_init();
$userAgent = ‘Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20100101 Firefox/8.0‘;
$userAgent = empty($userAgent)?$_SERVER[‘HTTP_USER_AGENT‘]:$userAgent;
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_TIMEOUT, 5);//cURL允许执行的最长秒数
curl_setopt($curl, CURLOPT_HEADER, 0);//将头文件的信息作为数据流输出
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);//true 以文件流形式返回; false 直接输出;
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 0);//是否获取重定向的信息
curl_setopt($curl, CURLOPT_MAXREDIRS, 5);//重定向最大次数
curl_setopt($curl, CURLOPT_USERAGENT, $userAgent);//HTTP请求中User-Agent: "部分的内容
if($referer){
curl_setopt($curl, CURLOPT_REFERER, $referer);
}else{
curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
}
if($post){
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
}
if($cookieFile){
$cookieFile = dirname(__FILE__).DIRECTORY_SEPARATOR.$cookieFile;
curl_setopt($curl, CURLOPT_COOKIEFILE, $cookieFile);//包含cookie数据的文件名
curl_setopt($curl, CURLOPT_COOKIEJAR, $cookieFile);//连接结束后保存cookie信息的文件
}
if($cookie){
curl_setopt($curl, CURLOPT_COOKIE, $cookie);//HTTP请求中"Cookie: "部分的内容
}
$result = curl_exec($curl);
if(curl_errno($curl))echo ‘<pre><b>ERROR:</b><br />‘.curl_error($curl).‘</pre>‘;
curl_close($curl);
return $result;
}
标签:http io os ar 文件 数据 cti on c
原文地址:http://my.oschina.net/qianglong/blog/318224