Obecnie używam cURL, aby spróbować uzyskać adres URL z przekierowania dla skrobaka witryny. Potrzebuję tylko adresu URL ze strony internetowej. Sprawdzałem na stackoverflow i innych stronach przez ostatnie kilka dni i nie udało się. Kod, którego aktualnie używam, pochodzi z tej witryny:cURL get URL z przekierowania
$url = "http://www.someredirect.com";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($ch, CURLOPT_NOBODY, true);
$response = curl_exec($ch);
preg_match_all('/^Location:(.*)$/mi', $response, $matches);
curl_close($ch);
echo !empty($matches[1]) ? trim($matches[1][0]) : 'No redirect found';
Każda pomoc zostanie bardzo doceniona!
'preg_match_all ('/^Lokalizacja: (. *) $/Mi', $ response, $ matches);', czy próbujesz dopasować 'header ('Location: http: //google.com'); "na przykład? :/ – Prisoner
Tak. Próbujesz przeanalizować lokalizację z nagłówka, ale tag lokalizacji nie jest zwracany w nagłówku. – Josh
W takim przypadku Twój kod działa dobrze dla mnie. – Prisoner