关于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 相关文章推荐
解决163/sohu/sina不能够收到PHP MAIL函数发出邮件的问题
Mar 13 PHP
php实现utf-8和GB2312编码相互转换函数代码
Feb 07 PHP
编写Smarty插件在模板中直接加载数据的详细介绍
Jun 26 PHP
mac下安装nginx和php
Nov 04 PHP
php环境下利用session防止页面重复刷新的具体实现
Jan 09 PHP
PHP cURL初始化和执行方法入门级代码
May 28 PHP
浅谈php中curl、fsockopen的应用
Dec 10 PHP
PHP 获取指定地区的天气实例代码
Feb 08 PHP
PHP写的简单数字验证码实例
May 23 PHP
Laravel框架生命周期与原理分析
Jun 12 PHP
Linux下安装Memcached服务器和客户端与PHP使用示例
Apr 15 PHP
浅谈laravel aliases别名的原理
Oct 24 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
DC动漫人物排行
2020/03/03 欧美动漫
Ajax PHP分页演示
2007/01/02 PHP
PHP字符转义相关函数小结(php下的转义字符串)
2007/04/12 PHP
PHP实现提取多维数组指定一列的方法总结
2019/12/04 PHP
做网页的一些技巧(续)
2007/02/01 Javascript
随机显示经典句子或诗歌的javascript脚本
2007/08/04 Javascript
JavaScript 笔记二 Array和Date对象方法
2010/05/22 Javascript
为什么要在引入的css或者js文件后面加参数的详细讲解
2013/05/03 Javascript
jQuery判断iframe中元素是否存在的方法
2013/05/11 Javascript
用js实现控件的隐藏及style.visibility的使用
2013/06/14 Javascript
javascript创建和存储cookie示例
2014/01/07 Javascript
jQuery.holdReady()使用方法
2014/05/20 Javascript
js实现select二级联动下拉菜单
2020/04/17 Javascript
利用js编写响应式侧边栏
2016/09/17 Javascript
jQuery鼠标悬停内容动画切换效果
2017/04/27 jQuery
JavaScript中运算符规则和隐式类型转换示例详解
2017/09/06 Javascript
基于BootStrap的文本编辑器组件Summernote
2017/10/27 Javascript
详解vue-cli3 中跨域解决方案
2019/04/10 Javascript
详解如何写出一个利于扩展的vue路由配置
2019/05/16 Javascript
使用jquery-easyui的布局layout写后台管理页面的代码详解
2019/06/19 jQuery
Python随机生成一个6位的验证码代码分享
2015/03/24 Python
Python虚拟环境Virtualenv使用教程
2015/05/18 Python
以一个投票程序的实例来讲解Python的Django框架使用
2016/02/18 Python
Python实现连接postgresql数据库的方法分析
2017/12/27 Python
解决Python requests库编码 socks5代理的问题
2018/05/07 Python
在flask中使用python-dotenv+flask-cli自定义命令(推荐)
2020/01/05 Python
Python爬虫HTPP请求方法有哪些
2020/06/03 Python
英国网上自行车商店:Tredz Bikes
2019/10/29 全球购物
Ajax请求总共有多少种Callback
2016/07/17 面试题
2014年个人债务授权委托书范本
2014/09/22 职场文书
讲文明倡议书
2015/04/29 职场文书
2015年宣传部个人工作总结
2015/05/14 职场文书
浅谈Python数学建模之整数规划
2021/06/23 Python
手写实现JS中的new
2021/11/07 Javascript
React Fragment介绍与使用详解
2021/11/11 Javascript
Nginx 匹配方式
2022/05/15 Servers