php代理不了解url参数

问题描述 投票:0回答:1

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

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

我想阅读的网址是这样的:

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

所以我尝试:

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

如果执行此操作,则会出现以下错误:

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

我已经检查了文件,没有多余的内容,并且文件格式正确

但是,调试脚本后,我发现只打印了第一个参数:

<?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上有2个询问标记:一个是我的脚本,第二个是第三方脚本。

我已经研究这个问题好几个小时了。如何通过代理访问此类网址?

php proxy url-parameters
1个回答
0
投票
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']然后解析网址

© www.soinside.com 2019 - 2024. All rights reserved.