перенаправление URL — PHP get_headers рекурсивно

Я пытаюсь реализовать ответ заголовка, чтобы следовать рекурсивно заголовкам перенаправления. Я реализовал следующее, которое работает правильно для первого запроса, но если в заголовке найдено перенаправление местоположения, get_headers не возвращает никакого результата для перенаправленного местоположения. Я хотел бы отображать заголовок для каждого запроса заголовка.

Это то, что я сделал.

function redirectURL($domain) {

$newLocation = '';
$domain = str_replace("\r", "", $domain);

$headers=get_headers($domain);

echo "<ul class='list-group' >";

print "<li class='list-group-item'>".$domain. "</li>";
foreach($headers as $k=>$v){
print "<li class='list-group-item'>".$k . ": " . $v . "</li>";
if(strstr($v, 'Location')){
$location = explode(":",$v);
$newLocation = $location[1].":".$location[2];
}
}
echo "</ul>";

if($newLocation != $domainName && $newLocation != ''){
redirectURL($newLocation);
}

unset($headers);

return true;
}

Любая идея? У меня есть онлайн-реализация … если нужно увидеть рабочий код.
Спасибо

0

Решение

Хорошо, это было просто плохое кодирование. Я заставил это работать.
Это рабочий код

function redirectURL($domainName) {

$i=0;
$newLocation = '';
$isNew = false;
$headers = array();
$domainName = str_replace("\r", "", $domainName);

$headers=get_headers($domainName,1);



echo "<ul class='list-group' >";

print "<li class='list-group-item'><strong>".$domainName. "</strong></li>";
foreach($headers as $k => $v){
print "<li class='list-group-item'>".$k . ": " . $v . "</li>";

if($k ==  'Location'){

$newLocation = $v;
$isNew = true;
print "<li class='list-group-item'><strong>".$k . ": " . $v . "</strong></li>";
}

}
echo "</ul>";

unset($headers);
//limit recurse to $i < 4 to avoid overload
if($isNew){
$i++;
if($i<4) {redirectURL($newLocation);}

}

return true;
}

Вы можете проверить рабочий скрипт на https://www.neting.it/risorse-internet/controlla-redirect-server.html

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]