- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
При попытке открыть страницу Яндекса через PHP, получаю:
Moved Permanently The document has moved here.
или
Ой! запросы, поступившие с вашего IP-адреса, похожи на автоматические
HTTP/1.1 302 Found Location: http://yandex.ru/showcaptcha?retpath=http%3A//yandex.ru/yandsearch%3Ftext%
При этом http://ya.ru/ открывается.
Как Яндекс шпионит? Вижу Cookie spravka.
Но попытки через CURL отправлять Cookie, Яндекс палит.
CURL нормально отправляет Cookie?
$refer ="http://ya.ru/";
$url ="http://yandex.ru/yandsearch?text=CAD&lr=35";
function br($url) {
$user_cookie_file = $_SERVER['DOCUMENT_ROOT'].'/cookies.txt';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)");
curl_setopt($ch, CURLOPT_COOKIEFILE, $user_cookie_file);
curl_setopt($ch, CURLOPT_COOKIEJAR, $user_cookie_file);
$html = curl_exec($ch);
curl_close($ch);
return $html;
}
echo br($url);
В cookies.txt
# Netscape HTTP Cookie File
# http://www.netscape.com/newsref/std/cookie_spec.html
# This file was generated by libcurl! Edit at your own risk.
.yandex.ru TRUE / FALSE 1312378916 spravka dD0xMjc4MjUwOTE2O2k9MTc4LjYzLjk1LjE5O3U9MTI3ODI1MDkxNjEyMDQyNjc5MTtoPWZhZTgyZjJmMjNjNTM2YWQ2NTk1YTBjZWM4MDc3OWU1
У кого-нибудь есть решение?
Location
Сохраняйте куки, переходите по Location, распознавайте картинку через сервис и делайте запрос снова.
Сохраняйте куки, переходите по Location, распознавайте картинку через сервис и делайте запрос снова.
Какие есть сервисы? Хотя такое решение не нравится.
Но все же, как Яндекс палит?
У меня такое вылазило в зависимости от хостинга, где стоят прокси. Кое где есть, а кое где нет. Отчего такое разбираться не стал, ибо шаред-хостингов под прокси хватает.
Чтобы не палил:
1. Юзать прокси.
2. Если делать одновременно 2-3 запроса к Яндексу с одного айпи, айпи уходит в бан, примерно часов на 8-12. Поэтому запросы с одного айпи нужно производить хотя-бы с интервалом в 1 минуту.
3. А почему у вас нет нигде:
$refer есть, а CURLOPT_REFERER нет ;)
У меня такое вылазило в зависимости от хостинга, где стоят прокси. Кое где есть, а кое где нет. Отчего такое разбираться не стал, ибо шаред-хостингов под прокси хватает.
Спасибо за ответ.
Это на хостинге надо ставить proxy скрипт?
Какой порекомендуете proxy скрипт?
А запросы слать с другого хостинга?
Выделенный айпи нужен?
Какие требования к шаред-хостингу под прокси?
Чтобы не палил:
1. Юзать прокси.
Прокси брал в сети бесплатные: 58.61.156.183:80
Через URLOPT_PROXY http://ya.ru/ открывает, а http://yandex.ru/ нет.
2. Если делать одновременно 2-3 запроса к Яндексу с одного айпи, айпи уходит в бан, примерно часов на 8-12. Поэтому запросы с одного айпи нужно производить хотя-бы с интервалом в 1 минуту.
15 минут не помогают.
Может вся сетка забанена?
Пробовал из 2 IP.
Это в этом месяце случилось. Раньше все работало.
3. А почему у вас нет нигде:
$refer есть, а CURLOPT_REFERER нет ;)
CURLOPT_REFERER есть. Пишу туда http://ya.ru/ или http://yandex.ru/ - это нормально?
Какие есть сервисы? Хотя такое решение не нравится.
Анти-капча. Кроме такого решения существует только прокси, но с ними намучаетесь не меньше.
Вы видимо расположились на таком хосте, с котрого постоянно шлют запросы кто-то на яндекс, вот ваш ip и всегда забанен. Но ввод каптчи обходит это дело.
И насчёт прокси - бесплатные далеко не всегда проходят.
Вы видимо расположились на таком хосте, с котрого постоянно шлют запросы кто-то на яндекс, вот ваш ip и всегда забанен.
Пробовал из 2 выделенных IP адресов.
Может вся сетка IP адресов забанена?
Это в этом месяце случилось. Раньше все работало.
Это странно.
Хотя в общем-то для решения проблемы это никак не влияет, всё равно нужно обрабатывать этот случай даже при обходе этой ситуации.
Парсить яндекс таким способом -самое надёжное решение.
Так что если вас всё-таки разбанят или вы возьмёте другие ip - всё равно придётся описать такой случай.
И, кстати, ваш скрипт где-нибудь нормально работает? Нарример, на локалке. А то может яндекс ждёт какие-то доп. хедеры и из-за отстутствия их выдаёт эту страницу?
Это странно.
Хотя в общем-то для решения проблемы это никак не влияет, всё равно нужно обрабатывать этот случай даже при обходе этой ситуации.
Парсить яндекс таким способом -самое надёжное решение.
Это вы про ввод капчи?
И, кстати, ваш скрипт где-нибудь нормально работает? Нарример, на локалке. А то может яндекс ждёт какие-то доп. хедеры и из-за отстутствия их выдаёт эту страницу?
Нет не проверял.
А что в нем неправильно?
http://ya.ru/ скрипт открывает.
Конечно возможно Яндекс ждёт какие-то хедеры. Cookie может?
CURL нормально отправляет Cookie?
Вот дописано в cookies.txt
# Netscape HTTP Cookie File
# http://www.netscape.com/newsref/std/cookie_spec.html
# This file was generated by libcurl! Edit at your own risk.
.yandex.ru TRUE / FALSE 1312378916 spravka dD0xMjc4MjUwOTE2O2k9MTc4LjYzLjk1LjE5O3U9MTI3ODI1MDkxNjEyMDQyNjc5MTtoPWZhZTgyZjJmMjNjNTM2YWQ2NTk1YTBjZWM4MDc3OWU1
.ya.ru TRUE / FALSE 994429134 S
.ya.ru TRUE / FALSE 1312380094 yandex_gid 99
ya.ru FALSE / FALSE 994428827 yp
Что означают эти записи?
spravka не изменилась.
NikolaZ, Яндексу достаточно проверять куки, поставленные через javascript. Если их нет, а запросов много - бан.
Это не причина проблемы, один из вариантов. Можешь сравнить куки, получаемые браузером и скриптом. Как вариант, получить куки браузером, записать в файл и попробовать отдать.
CURL нормально отправляет Cookie?
Да.
Проблема я думаю не в куках.
Попробовал у себя, всё работает.