PHP消息:无法打开流:HTTP请求失败

时间:2013-03-25 07:48:37

标签: php apache

我使用这个PHP脚本作为代理。 Serer A上的相同脚本没有问题,在服务器B上它不起作用,我收到这些错误:

failed to open stream: HTTP request failed! HTTP/1.1 401 Unauthorized

 Cannot modify header information - headers already sent by

在服务器B上 allow_url_fopen =开启

已设置

知道可能出现什么问题吗?

感谢

<?php
/*
 * in JavaScript call with `encodeURIComponent`
 * $.get('proxy.php?proxy_url='+encodeURIComponent('http://google.com?param=1&param2=2'))
 */
$url = rawurldecode($_GET['proxy_url']);
$cb = ! empty($_GET['callback']) ? $_GET['callback'] : null;

if(preg_match('#ccc\.aaa\.com/bbb/#', $url)){
    $url = preg_replace('#http\://xxx\.xxx\.com/xxx/#', '', $url);
}

if(! preg_match('#^https?:#', $url)){
    $url = preg_replace('#^[\.\/]+#', '', $url);

    if(!file_exists($url)){
        echo 'File not found';
        die(0);
    }
}

if(preg_match('#\.xml$#', $url)){
    header('Content-type: text/xml');
}

$file = file_get_contents($url);

if($cb){
    header('Content-type: application/javascript');
    echo $cb.'('.$file.');';

}else{
    echo $file;
}

0 个答案:

没有答案