Доброго дня! Пытаюсь CRON-ом собирать новости с поисковиков. Яша и гугль определяют меня как бота. RSS отдают, а поисковый контент "прячут". Подскажите, что не хватает в curl опциях? PHP: curl_setopt( $curl, CURLOPT_URL, $url ); curl_setopt( $curl, CURLOPT_FILE, $fp );//в файл кладу curl_setopt( $curl, CURLOPT_TIMEOUT, $timeout ); curl_setopt( $curl, CURLOPT_COOKIEFILE, $cookies ); curl_setopt( $curl, CURLOPT_COOKIEJAR, $cookies ); curl_setopt( $curl, CURLOPT_HEADER, 0 ); curl_setopt( $curl, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)"); curl_setopt( $curl, CURLOPT_FOLLOWLOCATION, 1 );
А там и не нужно вообще ничего слать.Наоборот. PHP: $ch = curl_init("http://news.yandex.ru"); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,0); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); $result=curl_exec($ch); curl_close($ch); echo $result;
Аналогично, собственно, и у гугла.Посмотри сперва в следующий раз, какие данные передаются.Ни одного POST запроса не было при загрузке новостей яши и гугла. Для firefox есть хороший плагин HttpFox, он поможет определить, что нужно передавать скрипту(или не передавать).
Благодарю! Работает. Попробовал с локала и с сервера. Убрал только строчку с CURLOPT_USERAGENT. Где то я ещё тупанул. Может при отладке превысил некий лимит однотипных запросов. Испытывать судьбу не буду. Пусть пару дней скрипт поработает.