Форум OlegON > Ресурсы OlegON > Вопросы сервера > База штрихкодов

Постоянный статус 429 ... :( : База штрихкодов

28.03.2024 14:21


20.08.2018 18:52
Genricke
 
Добрый день !

Нашёл Ваш интересный ресурс - решил попробовать работать с API REST штрих-кодов товаров …

Все руководства к действию на форуме прочитал.
Работаю через API LibCURL, USERAGENT установлен.

За день получилось удачными 2-3 запроса, в остальном "Статус 429". Про капчу читал, пару раз её в броузере проходил - эффекта особого нет.

Ничего криминального не делал, и не собираюсь. :)
Форум показывает, что мой IP 178.155.4.103
(пробовал зайти через другого провайдера - те же проблемы).

Не подскажете, в чём может быть беда ?
Заранее спасибо, с уважением Игорь.
20.08.2018 19:20
OlegON
 
Молодец, что не поленился написать. Такие случаи будем разбирать обязательно. Я тоже человек и могу ошибаться в программировании.

Итак, на текущий момент, если подключаешься в первый раз, необходимо пройти капчу. Это ограничение на IP. Увы, пока я не сделал это, меня заваливали по одному запросу в день с сотен тысяч разных адресов по всему миру. Выглядело ужасающе. Теперь - сначала надо подтвердить, что не бот, потом пользоваться. Через некоторое время придется подтвердить снова. Но это явно не 2-3 попытки.

Если кто-то на этом же адресе будет запрашивать - капчу придется проходить и за них.

Для теста. Открываем браузер, любой запрос к базе штрихкодов. Первый, соответственно, пнется в 429. Потом можно потыкаться еще в нижние ссылки примеров штрихкодов, чтобы понять, что фильтр работает и пускает без капчи. Если все равно долбится в 429 после капчи, значит пишем сюда. Но не знаю, чем смогу помочь, кроме предложения почистить браузер от какого-то мусора. У меня в браузере все нормально работает.

После того, как доиграешься до второй капчи и пройдешь ее (либо капча пропустит тебя через окошко с роботом втихую), браузер больше не трогаем и пробуем через API. Счетчик просмотров общий для одного адреса, т.е. и для API и для просмотра через веб. На данный момент счетчики сбрасываются раз в месяц.

Общее правило - если в браузере все вменяемо работает, то и в API должно. Если работает невменяемо, то кто-то с этого же адреса тоже смотрит коды. ;)
20.08.2018 20:29
Genricke
 
Спасибо за ответ, выполнил Ваши рекомендации.

Капча у меня не появляется, просто робот с кнопкой, нажимаю и меня пропускают к списку товаров и т.д.
После этого пара тестовых запросов через через броузер и WinInet - проходят, но запросы через LibCurl уверенно возвращают 429 …
Потом запирается везде ...

Кеш броузера здесь значения не имеет, т.к. CURL его не использует.


Я тоже думал, что IP (кабельный МТС) может быть один на пол-города, но заходил с мобильного подключения с другим IP.
Никакого эффекта - всё тоже самое. Конечно можно предположить, что пол-страны смотрят товары по штрих-коду … :)

В любом случае, большое спасибо за оперативный ответ. К счастью, у меня этот вопрос простое любопытство, а не работа.
Безопасность, безусловно, важна и нужна. Но всё таки она не должна быть как слепая собака в доме, через которую все спотыкаются. ;)
Массированная атака стоит дорого, но банки работают, самолёты летают, президенты - избираются. Возможно мне просто не повезло. :)
20.08.2018 20:56
OlegON
 
Цитата:
Genricke Потом запирается везде ...
Вот после этого надо пройти капчу и продолжать мучить API.
Полез смотреть в логи
Цитата:
178.155.4.103 [20/Aug/2018:19:49:10 +0300] "-" "GET /api/card/name/8001090837424 HTTP/1.1" 200 905 "WebCopy" barcodes.olegon.ru - 0.005
178.155.4.103 [20/Aug/2018:19:49:10 +0300] "-" "GET /api/card/name/8001090837424 HTTP/1.1" 200 905 "WebCopy" barcodes.olegon.ru - 0.005
178.155.4.103 [20/Aug/2018:19:49:30 +0300] "-" "GET /api/card/name/8001090837424 HTTP/1.1" 200 905 "WebCopy" barcodes.olegon.ru - 0.006
178.155.4.103 [20/Aug/2018:19:49:30 +0300] "-" "GET /api/card/name/8001090837424 HTTP/1.1" 200 905 "WebCopy" barcodes.olegon.ru - 0.005
178.155.4.103 [20/Aug/2018:19:49:54 +0300] "-" "GET /api/card/name/8001090837424 HTTP/1.1" 200 905 "WebCopy" barcodes.olegon.ru - 0.005
178.155.4.103 [20/Aug/2018:19:49:54 +0300] "-" "GET /api/card/name/8001090837424 HTTP/1.1" 200 905 "WebCopy" barcodes.olegon.ru - 0.006
Налицо явно не один успешный запрос подряд... Правда, один штрихкод... Может, просто в коде долбежка забыта какая-то?
20.08.2018 21:19
Genricke
 
Спасибо, что посмотрели. Вот с AGENT = "WebCopy" - это как раз запросы, через API WinInet, а не CURL …
После нажатия кнопки с капчей их было 2-3 успешных, потом 429, капча и ещё наверно 3 ...
При этом между ними я пытался выполнить ещё запросы через LibCurl … (1 или 2)

Нет никакой долбёжки.
Карточка с полем для штрих-кода и в ней и пара кнопок для выполнения одного запроса …
Я "десктопный" программист, а не WEB. :)))
20.08.2018 21:36
OlegON
 
Ну, тогда получается, что через WinInet работает, а через curl - нет? Боюсь, тогда надо двигаться в раздел "Программирование" и разбираться с конкретным кодом... Может, в нем забыли агента поставить?

Цитата:
Genricke Нет никакой долбёжки.
если просмотреться к журналу, то там по одному коду два запроса в секунду... Полагаю, что в этом смысла особого нет, зато бесплатные запросы подъедает.
20.08.2018 22:00
Genricke
 
Да, теперь понятно откуда 6 успешных запросов - там просто был не закомментированный второй вариант вызова …
И получается что через WinINet запросы действительно шли парами.

Как я написал в первом сообщении - через CURL работает, AGENT прописан (даже пробовал разные, "под броузер" и т.д.)
Просто максимум один запрос и запирается система. В протоколе должны быть записи с моего IP.
Штрих-код тот же: 8001090837424, ну и ещё пиво пробовал пробить: 4600682483113 :)
20.08.2018 23:35
OlegON
 
у curl какой агент?
21.08.2018 07:26
Genricke
 
Да разные я вчера пробовал …
Закончил на "WebCopyCurl", сегодня пробовал CURLOPT_USERAGENT = e-mail с которым зарегистрировался на форуме.
Сразу получаю статус 429.

Попробовал Вашу программу OlegOnBarCodeBase - прекрасно работает с моего IP.
Т.е. с IP проблем нет, если конечно эта программа использует общие правила доступа к базе кодов.

Или скажите пожалуйста, какой нужно установить USERAGENT - я попробую это сделать.

Я просто выскажу идею. Может быть есть смысл дать возможность делать с IP 50-100 запросов в день с AGENT
равным e-mail регистрации в форуме ? Этого достаточно для разработчика, и да пользователям посмотреть
возможность интеграции с Вашей базой в прикладной программе. Далее они как минимум, придут на Ваш
ресурс, прочитают правила, узнают о Вашей миссии, и при желании зарегистрируются, купят тариф и т.д.

Потому, что я вот сейчас, вроде бы сделал набросок интеграции нашего торгового софта с Вашим ресурсом,
но мне даже нечего показать руководству для включения этой возможности в обновление программ … :(
21.08.2018 08:31
OlegON
 
Вот, к сожалению, какие я послабления не делал, в итоге они используются для выкачивания всей базы с дикими нагрузками. У меня сначала и лимитов не было. Там ценник-то смешной, можно и с капчей, можно на 10 рублей 100 запросов купить, они расходуются только на положительный результат. Мне лишние условия добавлять - тормознее будет. Апи для всех общее, видимо, все же какая-то проблема в коде.
Часовой пояс GMT +3, время: 14:21.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.