Od pewnego czasu używamy informacji z witryny (coś, co pozwala na to witryna, jeśli podajesz źródło i robimy to), a my kopiujemy informacje ręcznie. Jak można sobie wyobrazić, może to być dość nudne, więc próbowałem zautomatyzować proces, pobierając informacje za pomocą skryptu PHP.Jak ukryć swój skrypt PHP jako przeglądarkę?
URL Próbuję pobrać to:
http://mediaforest.ro/weeklycharts/viewchart.aspx?r=WeeklyChartRadioLocal&y=2010&w=46 08-11-10 14-11-10
Gdybym wpisać w przeglądarce to działa, jeśli próbuję file_get_contents() otrzymuję Bad Request
wyobraziłem który sprawdził się, aby zobaczyć, czy klient jest przeglądarka więc walcowane rozwiązanie oparte Zwijanie:
$ch = curl_init();
$header=array(
'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12',
'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language: en-us,en;q=0.5',
'Accept-Encoding: gzip,deflate',
'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7',
'Keep-Alive: 115',
'Connection: keep-alive',
);
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_COOKIEFILE,'cookies.txt');
curl_setopt($ch,CURLOPT_COOKIEJAR,'cookies.txt');
curl_setopt($ch,CURLOPT_HTTPHEADER,$header);
$result=curl_exec($ch);
curl_close($ch);
Sprawdziłem i nagłówki są identyczne z moim Fr. Nagłówki owser i wciąż otrzymuję Bad Request
więc spróbowałem innego rozwiązania:
http://www.php.net/manual/en/function.curl-setopt.php#78046
Niestety to nie działa albo i jestem z pomysłów. czego mi brakuje?
Czy użyłeś 'urlencode' na URL przed wywołaniem' file_get_contents'? –
Cholera, to krępujące ... jak mógłbym tęsknić? – pandronic
Cóż, działa nawet z file_get_contents(), więc nie ma żadnej ochrony. Przepraszamy za zmarnowanie czasu dla wszystkich :) – pandronic