развернуть крошечный URL в Java - PullRequest
4 голосов
/ 27 февраля 2010

Я хочу написать код в Java, который принимает URL-адрес, чтобы определить, является ли он крошечным URL или нет. если да, то он определит, является ли URL вредоносным или нет. если не злонамеренно, напечатайте ссылку ...

Пожалуйста, любое тело может помочь мне ....

Ответы [ 3 ]

5 голосов
/ 27 февраля 2010

Вы можете использовать HttpClient , чтобы определить, перенаправлен ли URL-адрес в другое место. После этого это простой случай:

if (!isMalicious(redirectTargetURL))
{
    System.out.println(redirectTargetURL);
}

Реализация isMalicious(...) оставлена ​​в качестве упражнения для читателя.

2 голосов
/ 27 февраля 2010

Если вы доверяете Google для реализации isMalicious(...), тогда они сделали это с помощью API безопасного просмотра .

0 голосов
/ 27 февраля 2010

Итак, 2 основные вещи, которые вы хотите:

  1. Определите, является ли он tinyurl
  2. Определите, является ли URL вредоносным

Ответ на часть 1 прост. Просто проверьте, принадлежит ли URL домену tinyurl.com. Должно быть просто протестировать необработанную строку URL или часть хоста, возвращенную методом getHost () объекта java.net.URL.

Часть 2 сложнее написать с нуля ...

Сначала вам понадобится ваш код, чтобы выяснить, куда перенаправляется tinyurl.

Следующий бит действительно зависит от того, как вы хотите определить «вредоносный». Обнаружение обманчивых URL-адресов потребует небольшой работы (например, обнаружение разницы между чем-то вроде www.stackoverflow.com и www.stack0verf10w.com) или сравнение целевого URL со списком вредоносных URL-адресов (есть сайты, которые их публикуют). Также можно проверять наличие нескольких перенаправлений, всплывающих окон и список критериев.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...