我想在java中编写一个代码,用来识别url是否是小网址。如果是,那么它将识别该网址是否是恶意的。如果没有恶意打印网址...
请任何人帮助我......
答案 0 :(得分:5)
您可以使用HttpClient检测网址是否被重定向到其他位置。之后是一个简单的例子:
if (!isMalicious(redirectTargetURL))
{
System.out.println(redirectTargetURL);
}
isMalicious(...)
实施留给读者作为练习。
答案 1 :(得分:2)
如果您信任Google实施isMalicious(...)
,那么他们已经使用Safe Browsing API完成了这项工作。
答案 2 :(得分:0)
所以你想要的两件事:
第1部分的答案很简单。只需检查URL是否属于“tinyurl.com”域。应该直接测试原始URL字符串,或java.net.URL对象的getHost()方法返回的主机部分。
第2部分从头开始编写代码更加困难......
首先,您需要使用代码来确定tinyurl重定向到的位置。
下一步真的取决于你想要如何定义'恶意'。检测欺骗性URL需要一些工作(例如,找到诸如www.stackoverflow.com和www.stack0verf10w.com之类的内容之间的差异),或者将目标URL与恶意URL列表(发布它们的站点)进行比较。还有检查多个重定向,弹出窗口,标准列表可以继续。