[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: cURL не всегда срабатывает
Gilean
Здравствуйте, передо мной стоит задача получить html-код с сайта irr.ru для последующего парсинга.

Использую библиотеку cURL, вот код:
$url = "http://irr.ru/real-estate/apartments-sale/";  
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url); // set url to post to
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);// allow redirects
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // return into a variable
curl_setopt($ch, CURLOPT_TIMEOUT, 10000);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10000);
$result = curl_exec($ch);
curl_close($ch);
echo $result;

В результате выводится пустая страница. Пробовал для google.com - работает великолепно.

Подскажите, в чем может быть ошибка.
Заранее спасибо.



Спустя 3 минуты, 24 секунды (24.06.2010 - 17:17) waldicom написал(а):
Может у них антибот стоит..

Спустя 31 минута, 32 секунды (24.06.2010 - 17:48) DedMorozzz написал(а):
Куки установи и все параметры браузера.

Спустя 35 минут, 15 секунд (24.06.2010 - 18:23) Basili4 написал(а):
Цитата (Gilean @ 24.06.2010 - 18:13)
передо мной стоит задача получить html-код с сайта irr.ru для последующего парсинга.

можно испоьзовать file_get_contents

Спустя 48 минут, 31 секунда (24.06.2010 - 19:12) Guest написал(а):
Цитата (Basili4 @ 24.06.2010 - 15:23)
Цитата (Gilean @ 24.06.2010 - 18:13)
передо мной стоит задача получить html-код с сайта irr.ru для последующего парсинга.

можно испоьзовать file_get_contents

Пробовал, не работает, так же, как и fopen().

Спустя 25 секунд (24.06.2010 - 19:12) Guest написал(а):
Цитата (DedMorozzz @ 24.06.2010 - 14:48)
Куки установи и все параметры браузера.

Спасибо, попробую.

Спустя 3 часа, 6 минут, 28 секунд (24.06.2010 - 22:19) Gilean написал(а):
Цитата (DedMorozzz @ 24.06.2010 - 14:48)
Куки установи и все параметры браузера.

Спасибо большое за совет, как только установил куки, все заработало.

Если кто столкнется с такой проблемой, необходимо узнать, какие куки сохраняет сайт на компе (можно просмотреть с помощью браузера) и не забыть учесть их в curl_setopt:

$cookie_str =  "__utmb=133249617.1.10.1277406059"
.";__utmc=133249617"
.";una=1"
.";user_region=moscow";
...

curl_setopt ($ch, CURLOPT_COOKIE, $cookie_str); //Устанавливаем нужные куки в необходимом формате

Спустя 1 час, 26 минут, 51 секунда (24.06.2010 - 23:46) DedMorozzz написал(а):
Кашмар smile.gif Более извращённого метода установки кук не видел smile.gif

Спустя 2 часа, 13 минут, 57 секунд (25.06.2010 - 02:00) Gilean написал(а):
Цитата (DedMorozzz @ 24.06.2010 - 20:46)
Кашмар smile.gif Более извращённого метода установки кук не видел smile.gif

Удивительное рядом tongue.gif
Если не трудно, покажите, как сделали бы вы, и объясните, почему так.

Спустя 1 час, 34 минуты, 48 секунд (25.06.2010 - 03:34) Night User написал(а):
curl_setopt ($ch, CURLOPT_COOKIEFILE, 'cookie.txt');

Например, так

Алсо: http://coderscult.com/php/php-curl/2008/05...ookies-example/
<?php
/* STEP 1. let’s create a cookie file */
$ckfile = tempnam ("/tmp", "CURLCOOKIE");
/* STEP 2. visit the homepage to set the cookie properly */
$ch = curl_init ("http://somedomain.com/");
curl_setopt ($ch, CURLOPT_COOKIEJAR, $ckfile);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec ($ch);

/* STEP 3. visit cookiepage.php */
$ch = curl_init ("http://somedomain.com/cookiepage.php");
curl_setopt ($ch, CURLOPT_COOKIEFILE, $ckfile);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec ($ch);

/* here you can do whatever you want with $output */
?>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.