Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.09.2012, 19:34   #1
gunsoy
Форумчанин
 
Регистрация: 30.12.2010
Сообщений: 280
Вопрос php curl притворится браузером

Здравствуйте
Подскажите пожалуйста чем мой curl не угодил яндексу

PHP код:
<?php
$headers
=explode("\n"trim("Host: yandex.ru
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2) Gecko/20100115 Firefox/3.6 sputnik 2.3.0.70
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive"
));

$ch curl_init("http://yandex.ru/search?text=word1+word2");


curl_setopt($chCURLOPT_HEADERtrue);  
curl_setopt($chCURLOPT_RETURNTRANSFERtrue); 
curl_setopt($chCURLOPT_REFERER"http://www.yandex.ru/");
curl_setopt($chCURLOPT_COOKIEJAR'cookie.txt');  // Записываем cookie
curl_setopt($chCURLOPT_COOKIEFILE'cookie.txt'); // Читаем cookies
curl_setopt($chCURLOPT_HTTPHEADER$headers);
curl_setopt($chCURLOPT_AUTOREFERERtrue);
curl_setopt($chCURLOPT_FOLLOWLOCATIONtrue);

$str=curl_exec($ch);
echo 
$str;
curl_close($ch);
?>
Результат 'Ваши запросы похожи на автоматические' и выдает мне капчу
Поискал в инете и проблема вроде бы в заголовках Вот заголовки по запросу из HTTPLiveHeaders

GET /yandsearch?text=%D1%81%D0%BF%D1%80% D0%B0%D0%B2%D0%BE%D1%87%D0%BD%D0%B8 %D0%BA+php&lr=10335 HTTP/1.1
Host: yandex.ru
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2) Gecko/20100115 Firefox/3.6 sputnik 2.3.0.70
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive

Все ли правильно я сделал? В общем хочу понять как мне притворится браузером

Спасибо за внимание
gunsoy вне форума Ответить с цитированием
Старый 09.09.2012, 22:21   #2
Bob256
Пользователь
 
Регистрация: 28.10.2011
Сообщений: 13
По умолчанию

Возможно лишние пробелы в строке GET...
Bob256 вне форума Ответить с цитированием
Старый 09.09.2012, 22:58   #3
gunsoy
Форумчанин
 
Регистрация: 30.12.2010
Сообщений: 280
По умолчанию

Да не То что из HTTPLiveHeaders это результат обычного удачного запроса при введении в URL адреса ....yandsearch?text=word1+word2

В скрипте выше тоже yandsearch а не search

Если есть у кого ссылка с полезной информацией на эту тему поделитесь пожалуйста Очень хочется освоить эту тему
gunsoy вне форума Ответить с цитированием
Старый 10.09.2012, 12:59   #4
gunsoy
Форумчанин
 
Регистрация: 30.12.2010
Сообщений: 280
По умолчанию

Есть там в заголовках полученных из HTTPLiveHeaders и такой запрос который идет сразу после запроса ....yandsearch?text=word1+word2

http://yandex.ru/favicon.ico

GET /favicon.ico HTTP/1.1
Host: yandex.ru
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2) Gecko/20100115 Firefox/3.6 sputnik 2.3.0.70
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: ru,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.yandex.ru/
Cookie: yandexuid=4729463111324478670; yp=1349606137.ygu.1; fuid01=4ee60cac0010788d.4dhQPLIiULx 7ivM6McvEzh_LE-rt59J2oKkiI75X1aLswUBdDOY8FIY_qaGLI ShEG3ni_QKvDf3g538T74sLZK3njoH84_8d Q7jC1OZS2HEUlwv2bGWOy4TmK_f2YcRM; yabs-frequency=/4/1W0004PpIL000000/10q4E4mFPQu601TC3wTXpG96J0_dgza2Ham FxW00/; yandex_gid=10335; spravka=dD0xMzQ3MTg0MDUwO2k9ODQuNTQ uMTA5LjIzMjt1PTEzNDcxODQwNTA3NTUzOD AzMjc7aD1kNmQ3MzYyYzM4NzkxMzZjMGU5M jJkNzFiMDdhNTRmMg==; t=p

и ответ

HTTP/1.1 302 Found
Date: Mon, 10 Sep 2012 04:44:59 GMT
Location: http://yandex.st/lego/_/pDu9OWAQKB0s2J9IojKpiS_Eho.ico
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Type: text/html; charset=iso-8859-1
Transfer-Encoding: chunked

Подскажите это тоже нужно отправлять? И если нужно то как?
Одновременно с запросом yandsearch с помощью multi_curl или поочереди?
gunsoy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PHP CURL AJAX POST-запрос SLASH_CyberPunk PHP 0 28.11.2011 16:07
PHP, cURL, сторонний сайт Zer0 Помощь студентам 1 13.06.2011 02:33
PHP+curl+useragent pruf PHP 9 14.03.2011 17:07
curl php javascript sergeiqwe PHP 2 06.11.2010 03:25
delphi for php как подключить curl OkeaH PHP 5 03.02.2009 01:48