Из-за ограничений 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&осущ = ы&Выход = xml_vast2&unviewed_position_start = 1&URL = www.somewebsite.com
поэтому я стараюсь:
локальное / proxy.php? изнаночный = someserver.com / л / объявление? окр = уры&gdfp_req = 1&осущ = ы&Выход = 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
Обратите внимание, что у меня есть 2 метки запроса в 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
Других решений пока нет …