virtualman
3.01.2012, 19:05:13
Witam,
napisałem sobie robota który wchodzi na stronę o podanym ID i pobiera stamtąd dane, problem w tym, że jeśli trafi na stronę która nie istnieje to zostaje wywalony do głównej i pobiera stamtąd dane. Jak sprawdzić czy było przekierowanie czy nie?
Wiem, wiem PHP nie jest do pisania robotów sieciowych, ale każdy pisze w tym czym umie... Korzystam z file_get_contents, korzystałem z CURL, ale raz pobierał, a raz nie, więc stwierdziłem, że tu nie potrzebuje takiego zaawansowanego narzędzia... może jednak?
nospor
3.01.2012, 19:51:44
cURL da ci informację czy było przekierowanie czy nie.
virtualman
4.01.2012, 07:42:11
Powiesz jaki parametr da mi ta mozliwosc? czy po prostu jak bedzie.przekierowanie to returntransfer (chyba tak to sie pisalo/nazywwlo) zwroci false?
cycofiasz
4.01.2012, 11:51:41
Pole redirect_count z funkcji curl_getinfo
virtualman
6.01.2012, 11:55:04
Tylko to zawsze zwraca 0 nawet jeśli jest kod http 302 i wywala na główną ;/
Kod:
$ch = curl_init($www);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$site = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
cycofiasz
6.01.2012, 14:46:47
A gdzie się podział FOLLOWLOCATION ? Nie rób tego na "pałę" tylko się przyłóż.