• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

关于php curl获取301或302转向的网址问_php

php 搞代码 3年前 (2018-06-21) 183次浏览 已收录 0个评论

在使用php的curl获取远程文件,代码如下:

复制代码 代码如下:
<?
$ghurl = isset($_GET[“id”]) ? $_GET[“id”]:”http://www.baidu.com/&#8221;;
// php 获取
function getContents($url){

http://www.gaodaima.com/?p=49381关于php curl获取301或302转向的网址问_php

$header = array(“Referer: http://www.baidu.com/&#8221;);
$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_FOLLOWLOCATION cannot be activated when in safe_mode or an open_basedir is set in ***

关于这个问题,google,百度一下,都是在大篇长长的english,不精通linux的还真头痛。
解决办法其实很简单:登陆你的 directadmin
找到 ->>”PHP SafeMode Configuration” –>>看下图

关于php curl获取301或302转向的网址问

把默认的 Default SafeDefault Open BaseDir OFF,问题就解决了。

欢迎大家阅读《关于php curl获取301或302转向的网址问_php》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码


喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址