2015-04-26 5 views
0

У меня есть проект курса безопасности. Он просит ввести данный сайт и загрузить его информацию 20 раз (сайт имеет 20 подстраниц), затем разбор и т. Д. Я использую загрузку C# для загрузки и анализа страницы. Однако после пятого раза сайт узнает, что я делаю эти загрузки как робот (программно).Как часто менять IP-адрес в приложении форм Windows?

То, что я создаю как программу, является успешным до шестого запроса. Загружаю контент и разбираю нужную информацию. Когда я дойду до шестой подстраницы, мой компьютер заблокирован. Это не связано с временным интервалом. Потому что я использовал случайные сгенерированные таймауты между 6-12 секундами. Однако это не помогает. Это определенно связано со счетчиком входа веб-страницы. Это похоже на «не давать разрешения после 5 запросов через 30 минут. Если он пройдет предел, заблокируйте его за (или более) день». Так как меня много раз блокировали. Я использую Hotspot моего телефона.

Я нахожу решение во время поиска в Интернете. Люди используют методы IP-изменения через netsh и т. Д. Однако, я думаю, что мой IP-адрес является статическим (WiFi), и я не мог понять, как его программным образом изменить в C# Windows Forms App. Из-за этого я хотел бы услышать ваши мысли.

+0

Вы пытались добавить задержки между запросами? Что вы используете для пользовательского агента? –

+0

Как я уже говорил, я использовал таймауты. Они были между запросами. Сайт подсчитывает запросы на основе ip-кода ПК. Это уж точно. Мне нужно изменить свой IP-адрес. – Elesmoth

+1

Время ожидания - это не то же самое, что и задержка, тайм-аут «тайм-аут», когда запрос не выполняется в течение определенного периода времени. Итак, что произойдет, если вы заходите на этот сайт с помощью Chrome/FF/IE, вы его удалите, если вы нажмете более 5 внутренних ссылок? –

ответ

2

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

Также вы указываете, что ваш IP-адрес является статическим, но существует разница между локальным IP-адресом и внешним IP-адресом. IP-адрес, присвоенный вашему Wi-Fi-соединению, является локальным, но внешний IP-адрес, который будет отображаться интернет-сайтами, не является тем же.

Если у вас есть динамический внешний IP-адрес, один из вариантов может программно подключиться к вашему маршрутизатору и перезапустить его. Это один из способов инициировать обновление IP-адреса, если у вас есть к нему доступ.

В целом, то, что вы делаете, трудно достичь для того, что звучит как простое задание.

+0

Ну, это термин проект. Эта проблема довольно тяжелая. То, что вы видите при вводе в google, «что такое мой IP», - это то, что я хочу изменить. IP-адрес моего маршрутизатора статичен, я думаю, потому что сейчас живу в общежитии. – Elesmoth

+0

Изменение внешнего IP-адреса тогда будет невозможно. Однако вы можете использовать какой-то прокси. –

4

Ваш провайдер, скорее всего, предоставит вам один динамический IP-адрес, который является IP-адресом точки доступа вашего компьютера в Интернете (т. Е. WAN). Если это так, они контролируют IP, а не вы. Даже если у вас есть домашняя сеть с несколькими компьютерами на разных локальных IP-адресах (LAN), вы по-прежнему не меняете свой IP-адрес WAN, который является фактически заблокированным адресом.

Кроме того, я не буду судить, но я бы сказал, что если это для проекта фактического курса, то с этической точки зрения ваш инструктор, скорее всего, не захочет, чтобы вы забивали невинный сайт больше, чем пожелал владелец веб-сайта для вас, чтобы забить его, следовательно, блокирование. Мое предложение было бы установить ваши сайты на другом веб-сайте, который не имеет блокировки для завершения вашей курсовой работы. Может быть, вы можете сделать это против Google.com?

2

Вот довольно привлекательное и эксцентричное решение, которое, однако, могло бы обойти проблему красиво. Создайте 4 экземпляра Amazon EC2 t2.micro (Windows) и выдайте 5 запросов каждый из экземпляров EC2. Вы можете сохранить результат в ведрах S3. Для выполнения этой работы вам потребуется много работы, но вы вышли на другой конец, также имея свой первый опыт работы в облаке. И каждый из этих экземпляров будет иметь другой IP-адрес.

Также, если вы вращаете один и тот же экземпляр вверх и вниз несколько раз, вряд ли у него будет один и тот же ip в любом случае, так что вы можете легко уйти с одним экземпляром.

В более серьезном ключе: экспериментируйте с изменением строки пользовательского агента и добавлением гораздо большего количества времени (минут, часов) между запросами. Кроме того, включите и включите свою горячую точку между каждыми пятью запросами, которые, вероятно, будут давать вам новый IP каждый раз.

+1

LOL. Я люблю это. Overkill, но вроде как «за фунт», за фунт «элегантность». –

+2

Да, это более чем глупо. Однако облако - это, конечно, один из способов выйти из пределов конкретной машины. – DWright

+0

Добавлен последний абзац с менее трудными вещами, чтобы попробовать. – DWright

 Смежные вопросы

  • Нет связанных вопросов^_^