Я пишу что-то немного сложное с CURL. Мне случилась ситуация, когда мне нужно знать, что последний URL CURL загрузился (если он был перенаправлен) или только исходный URL-адрес от curl_init($url)
.Последний загруженный URL-адрес ресурса CURL
Я думаю, что если бы он был перенаправлен, я могу разобрать заголовок Location
:
if(preg_match('/^Location:(.*)$/mi', $headers, $matches)>0) {
echo "Final location is: {$matches[1]}\n"; //We know location thanks to follow location
}
else {
echo "Well, I'm doomed...\n"; //We don't know anything
}
Это, кстати, причина, почему я не люблю ресурсы в PHP очень сложно.
На второй взгляд Я понял, что сценарий выше не будет работать - последняя страница, которую вы загружаете при перенаправлении, не отправляет заголовок Location
. В противном случае вы снова будете перенаправлены!
На второй мысль: ** последняя страница ** не отправляет местоположение - если только [предел перенаправления] (http://php.net/manual/en/function.curl-setopt.php#CURLOPT_MAXREDIRS) не является достиг. –