关于php curl获取301或302转向的网址问题
来源:互联网 发布:java数组去重排序 编辑:程序博客网 时间:2024/05/20 01:44
在使用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" -->>看下图
把默认的 Default Safe 和 Default Open BaseDir 都 OFF,问题就解决了。
0 0
- 关于php curl获取301或302转向的网址问题
- php获取当前网址url并替换参数或网址的方法
- PHP CURL POST无法获取响应内容的问题
- PHP的CURL 获取邮箱地址
- 关于PHP Curl POST 数据丢失的问题
- curl 获取数据的问题
- php遇到的CURL问题
- PHP开启cUrl的问题
- 302转向与网址劫持
- 301转向和网址规范化
- 301 网址转向带参数
- 获取CURL模拟POST提交之后重定向的网址
- Curl批量打开网址的PHP类,curl_multi_init
- Curl批量打开网址的PHP类,curl_multi_init
- PHP获取网址的http code状态码或其它header方法
- 网址转向的方法多了,为什么非要用301转向?
- PHP curl 获取响应的状态码
- php 301转向的简单跳转
- 字符识别OCR研究一(模板匹配&BP神经网络训练)
- linux学习之集群的cacti监控
- Android开发学习笔记:反编译APK文件
- LeetCode按单词反转字符串
- Pascal's Triangle
- 关于php curl获取301或302转向的网址问题
- 统计各type的消息的总数
- 【从零之三(更)】自定义类中调用讯飞语音包错误解决办法
- eclipse Indigo更新Android SDK 常见问题,与解决方案.
- JAVA 基础笔记|面向对象
- Android开发学习笔记:Android很有用的代码片段
- Android 下载一个文件以及打开这个apk文件
- 黑盒之嵌入式操作系统鲁棒性研究
- 如何建设自己的高质量外链资源