Java: как запрашивать новый IP-адрес каждый цикл моего приложения


Я написал приложение, которое просто анализирует список веб-страниц указанного веб-сайта и извлекает содержимое с помощью JSoup.
Проблема в том, что с моим IP-адресом я могу запросить максимум 3 определенные страницы из моего списка. (в том же домене) в день, после этих 3 страниц каждый запрос, который я пытаюсь выполнить, перенаправляется на страницу, которая просит меня вернуться на следующий день еще для 3 запросов.
Что я пытаюсь сделать, так это позволить моему приложение меняет мой IP каждые 3 запроса.

Я уже протестировал SilverTunnel и JTor (что позволяет мне принимать каждые 3 запроса новый идентификатор-IP для моих запросов), но эти библиотеки плохо документированы и почти не содержат примеров того, как я могу менять свою личность каждые N циклов).

Я спрашиваю, знает ли кто-нибудь способ, позволяющий моему приложению изменить мой IP-адрес, замаскировать его или даже попросить моего интернет-провайдера использовать конкретный IPV6 и выпустить изменение с новым другим.

Кто-нибудь знает решение этой проблемы или пробовал что-то подобное?

Спасибо всем.


person Community    schedule 03.10.2013    source источник
comment
Я могу ошибаться, но IP-адрес получен от вашего маршрутизатора, и вам нужно будет его перезапустить. Лучше всего получить доступ через прокси   -  person RamonBoza    schedule 03.10.2013
comment
Возможная копия браузера Tor, новый IP-адрес не работает?   -  person    schedule 19.03.2018


Ответы (1)


Лучшее решение для этого варианта использования — запросить у веб-сайтов разрешение на то, что вы делаете. Затем они внесут вас в белый список или, что еще лучше, укажут вам на внутренний API, откуда вы сможете получать интересные данные гораздо более эффективным способом, чем HTML.

[EDIT] Я не слышал о (законном) техническом решении для этого. Преступники используют огромные сети ботов с тысячами взломанных компьютеров для подобных вещей, но я настоятельно рекомендую вам держаться от этого подальше.

Я также еще не встречал страницу, которая допускает только три загрузки в день. Это серьезное ограничение говорит мне, что эти люди действительно одержимы своими данными. Попытка обойти их защиту может привести к неприятностям (как бы глупо это ни выглядело с вашей стороны). Если они и вы находитесь в США, приготовьтесь к судебному преследованию за нарушение CFAA. Это случалось и раньше по менее серьезным причинам.

Теперь немного технических подробностей. Вы не говорите, как вы подключаетесь к Интернету. Если вы получаете свой IP-адрес через DHCP, вам нужно попросить своего интернет-провайдера предоставить другой адрес. С их стороны это будет ручной процесс, поэтому приготовьтесь к тому, что с их стороны будет мало энтузиазма.

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

[EDIT2] Одним из возможных решений может быть стать интернет-провайдером и официально купить блок IP-адресов (как это делает любой нормальный интернет-провайдер).

Блокировка IPv6 не должна быть такой дорогой, но будьте осторожны, они ничего не дадут, если сервис работает только с IPv4! Если это так, то между вами и сервисом будет мост IPv6-IPv4, и он будет думать, что вы всегда используете один и тот же адрес.

Попытка купить IPv4-адреса на данный момент вероятно, безнадежна (ну, может быть, вы можете получить блокировку, если вы готовы потратить много денег).

person Aaron Digulla    schedule 03.10.2013
comment
Спасибо за ваш ответ, Аарон, но я прошу решение для кодирования, а не социальное. Я хочу иметь возможность делать это без разрешения или даже тестировать свои собственные проекты, смена IP-адреса может даже использоваться для целей проекта с множественной адресацией. - person ; 03.10.2013
comment
Я еще не встречал страницу, которая допускает только три загрузки в день. Эти строгие ограничения говорят мне, что эти люди очень одержимы своими данными. Попытка обойти их защиту может привести к неприятностям (как бы глупо это ни выглядело с вашей стороны). Если они и вы находитесь в США, приготовьтесь к судебному преследованию за нарушение CFAA - person Aaron Digulla; 03.10.2013
comment
Я ученый-компьютерщик, мне просто нужно решение, основанное на коде, это то, что я изучаю, это то, что я хочу производить, я не понимаю вашей точки зрения. Здесь мы говорим о кодексе, а не о законах, и то, что я прошу, является полностью законным для учебных целей и даже нет, потому что, если они разрешают 3 загрузки с каждого IP-адреса, я просто буду использовать 100 IP-адресов для 300 загрузок. Если бы они действительно не хотели делиться своими данными, вероятно, они бы не разместили их открытыми на своей главной странице. - person ; 03.10.2013
comment
Пожалуйста, прочтите статью о Groklaw, чтобы узнать, что может означать «абсолютно законно» для крупной компании. - person Aaron Digulla; 03.10.2013
comment
Понятно, я оценил техническую часть и даже предупреждения, но я серьезно не хочу украсть или взломать кого-то, я просто хочу иметь возможность сделать это с помощью своего приложения, потому что я могу использовать его по-разному. и как решение многих проблем. Я тестировал Vidalia и Tor, но, как вы написали, есть проблема, потому что при сохранении списка используемых IP-адресов за несколько циклов я получаю одни и те же IP-адреса снова и снова. Интернет-провайдеры не дают мне столько IP-адресов, сколько я хочу, поэтому я думал о IPV6, есть ли прокси-провайдер, который может позволить мне выбрать IPV6, который я хочу использовать? Спасибо еще раз - person ; 03.10.2013
comment
Я думаю, что правильным подходом в этом случае было бы стать интернет-провайдером и купить блок IP-адресов, как это делает любой нормальный интернет-провайдер. Google, где я могу купить IP-адреса; возвращает много ссылок. - person Aaron Digulla; 03.10.2013