Google не парсится скриптом на конкретном сервере

Статус
В этой теме нельзя размещать новые ответы.

Sergo_Sev

Творец
Регистрация
14 Июн 2008
Сообщения
578
Реакции
193
Сделал для теста скрипт - на одном серваке он работает полностью и не работает на другом сервере

Код:
$url_load = "http://www.google.ru/search?as_q=hd+%D1%84%D0%B8%D0%BB%D1%8C%D0%BC%D1%8B&hl=ru&newwindow=1&num=100&as_epq=&as_oq=&as_eq=&lr=&cr=&as_ft=i&as_filetype=&as_qdr=all&as_occt=any&as_dt=i&as_sitesearch=&as_rights=&safe=images&start=0&complete";

echo file_get_contents($url_load); // вообще ничего не выводится - только белый экран и в исходном коде тоже пусто

echo file_get_contents("http://www.google.ru/"); // Выводит главную страницу

Какие есть варианты, в чем может быть причина и как можно исправить?
 
Проверил у себя локально и на сервере - всё ок, выводится оба варианта нормально.
Может бан по IP? Как вариант CURLом попробовать, с человеческим useragent. Если не будет работать и CURL, то точно дело в айпишнике. Тогда прокси в помощь.
 
Может бан по IP?
Да, действительно бан IP оказался

В общем еще вопрос - как можно исправить ошибку (проблема из-за пробела) ?
Запрос приходит кажется в такой кодировке google.ru/search?as_q=hd+%D1%84%D0%B8%D0%BB%D1%8C%D0%BC%D1%8B
02-05-2014 18-16-57.png
Код скрипта
Код:
$do = $_GET['ggg'];

echo file_get_contents($do);

Закодировать строку не могу т.к. скрипт большой и долго искать, по этому передаю строку сразу вот так
Думал просто заменить пробел в скрипте
 
Если добавить замену пробелов на плюсы, должно работать:

$do =str_replace(' ','+', $_GET['ggg']);
echo file_get_contents($do);
 
Не надо всякими str_replace маяться! file_get_contents( urlencode( $url ) ); и все
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху