关于php curl获取301或302转向的网址问题的解决方法


Posted in PHP onJune 02, 2011

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

<? 
$ghurl = isset($_GET['id']) ? $_GET['id']:'http://www.baidu.com/'; 
// php 获取 
function getContents($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_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 相关文章推荐
PHP安装问题
Oct 09 PHP
域名查询代码公布
Oct 09 PHP
php字符串截取中文截取2,单字节截取模式
Dec 10 PHP
PHP获取类中常量,属性,及方法列表的方法
Apr 09 PHP
php getimagesize 上传图片的长度和宽度检测代码
May 15 PHP
PHP Undefined index报错的修复方法
Jul 17 PHP
php计算程序运行时间的简单例子分享
May 10 PHP
php 伪造ip以及url来路信息方法汇总
Nov 25 PHP
阿里云PHP SMS短信服务验证码发送方法
Jul 11 PHP
PHP设计模式之工厂方法设计模式实例分析
Apr 25 PHP
php curl优化下载微信头像的方法总结
Sep 07 PHP
PHP超低内存遍历目录文件和读取超大文件的方法
May 01 PHP
基于PHP的cURL快速入门教程 (小偷采集程序)
Jun 02 #PHP
PHP curl_setopt()函数实例代码与参数分析
Jun 02 #PHP
php小技巧 把数组的键和值交换形成了新的数组,查找值取得键
Jun 02 #PHP
使ecshop模板中可引用常量的实现方法
Jun 02 #PHP
php 数组使用详解 推荐
Jun 02 #PHP
php smarty 二级分类代码和模版循环例子
Jun 01 #PHP
PHP 八种基本的数据类型小结
Jun 01 #PHP
You might like
php中iconv函数使用方法
2008/05/24 PHP
php Smarty date_format [格式化时间日期]
2010/03/15 PHP
PHP 获取远程网页内容的代码(fopen,curl已测)
2011/06/06 PHP
详解在YII2框架中使用UEditor编辑器发布文章
2018/11/02 PHP
javascript实现tabs选项卡切换效果(自写原生js)
2013/03/19 Javascript
Ext4.2的Ext.grid.plugin.RowExpander无法触发事件解决办法
2014/08/15 Javascript
node.js中的buffer.Buffer.isBuffer方法使用说明
2014/12/14 Javascript
基于JavaScript实现网页倒计时自动跳转代码
2015/12/28 Javascript
nodejs前端自动化构建环境的搭建
2017/07/26 NodeJs
VUE前端cookie简单操作
2017/10/17 Javascript
javascript字体颜色控件的开发 JS实现字体控制
2017/11/27 Javascript
Vue引用第三方datepicker插件无法监听datepicker输入框的值的解决
2018/01/27 Javascript
Node.js利用console输出日志文件的方法示例
2018/04/27 Javascript
用VueJS写一个Chrome浏览器插件的实现方法
2019/02/27 Javascript
JS+CSS3实现的简易钟表效果示例
2019/04/13 Javascript
微信小程序页面调用自定义组件内的事件详解
2019/09/12 Javascript
Node.js API详解之 querystring用法实例分析
2020/04/29 Javascript
[51:17]完美世界DOTA2联赛循环赛Inki vs DeMonsTer 第二场 10月30日
2020/10/31 DOTA
Python 连连看连接算法
2008/11/22 Python
Python中for循环控制语句用法实例
2015/06/02 Python
Python语言的面相对象编程方式初步学习
2016/03/12 Python
Python中偏函数用法示例
2018/06/07 Python
python使用webdriver爬取微信公众号
2018/08/31 Python
Python使用post及get方式提交数据的实例
2019/01/24 Python
python3.6环境安装+pip环境配置教程图文详解
2019/06/20 Python
解决reload(sys)后print失效的问题
2020/04/25 Python
英国床垫在线:Mattress Online
2016/12/07 全球购物
加拿大建筑和装修专家:Reno-Depot
2017/12/21 全球购物
广州品高软件.net笔面试题目
2012/04/18 面试题
大专应届生个人简历的自我评价
2013/10/15 职场文书
领导班子群众路线与四风问题对照检查材料思想汇报
2014/10/11 职场文书
居委会工作总结2015
2015/05/18 职场文书
少年雷锋观后感
2015/06/10 职场文书
2016北大自主招生自荐信模板
2016/01/28 职场文书
Python 恐龙跑跑小游戏实现流程
2022/02/15 Python
PHP正则表达式之RCEService回溯
2022/04/11 PHP