在使用php的curl获取远程文件
,代码如下:
<?
$ghurl=isset($_GET['id'])?$_GET['id']:'http://www.baidu.com/';
//php获取
functiongetContents($url){
$header=array("Referer:http://www.baidu.com/");
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_TIMEOUT,30);
curl_setopt($ch,CURLOPT_HTTPHEADER,$header);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);//是否抓取跳转后的页面
ob_start();
curl_exec($ch);
$contents=ob_get_contents();
ob_end_clean();
curl_close($ch);
return$contents;
}
$contents=getContents($ghurl);
echo$contents;
?>
一般来说在win2003+iis下如
,把php_curl.dll配置好就没问题了
。 但笔者在
linux+apahe2.0+php5.2.12+directadmin,(一般国外主机商都是用这配置)如果获取的网址有301/302跳转,会报错:
curl_setopt()[function.curl-setopt]:CURLOPT_FOLLOWLOCATIONcannotbeactivatedwheninsafe_modeoranopen_basedirissetin***
关于这个问题,google,百度一下,都是在大篇长长的english,不精通
linux的还真头痛
。 解决办法其实很简单:登陆你的directadmin
希望这篇
php的curl获取有301/302跳转文件出错问题解决的文章能够对您有所帮助,如果您觉得这篇网站维护教程有用的话,别忘了推荐给您的朋友哦!如果您有好的经验方法,不妨拿出来和大家一起分享:假如每个人都拿出一个经验,那么我们都将额外的获取一堆他人的经验。
请记住本站永久域名:(黑客防线网安服务器维护方案维护基地)Www.Rongsen.Com.Cn