PHP代理不理解url参数


php proxy doesn't understand url params

由于CORS的限制,我需要通过代理访问url。我在php中实现了一个非常简单的脚本:

<?php 
$url=$_GET['purl'];//globals are already decoded
header("Content-Type: application/xml; charset=utf-8");
readfile("http://".$url);
?>

我想要读取的url是这样的:

someserver.com/blah/ads ? env = vp& gdfp_req = 1, impl = s&输出= xml_vast2& unviewed_position_start = 1, url = www.somewebsite.com

所以我尝试:

localhost/proxy.php ?流苏= someserver.com/blah/ads ? env = vp& gdfp_req = 1, impl = s&输出= xml_vast2& unviewed_position_start = 1, url = www.somewebsite.com

如果我执行这个,我得到以下错误:

此页包含以下错误:第1列第2行错误:文档末尾有多余的内容下面是页面到第一个错误的呈现。

我已经检查了文件,没有这样的额外内容,文档格式良好

但是,在调试脚本时,我发现只打印了第一个参数:
<?php 
$url=$_GET['purl'];//globals are already decoded
echo $url;
die();
header("Content-Type: application/xml; charset=utf-8");
readfile("http://".$url);
?>

它打印:

someserver.com/blah/ads ? env = vp

注意我在url上有两个问号:一个是我的脚本,第二个是第三方脚本。

我已经讨论这个问题好几个小时了。我如何通过代理访问这种url ?

localhost/proxy.php?purl=someserver.com/blah/ads?env=vp&gdfp_req=1&impl=s&output=xml_vast2&unviewed_position_start=1&url=www.somewebsite.com
$_GET["purl"]
$_GET["env"]
$_GET["gdfp_req"]
$_GET["output"]

等等你可以打印所有的URL

在这种情况下使用:$ _SERVER("REQUEST_URI")然后解析url