最佳实践:如何确保和修改String,使其成为有效的URL

时间:2010-07-06 15:20:56

标签: java url

我有一个应用程序,要求用户输入一些值。从这些值生成URL。但是,如果用户输入特殊符号,例如德语元音或其他奇怪的符号,当我尝试创建一个URL时有一个例外。所以我有两个问题:

  1. 检测网址是否格式正确的最佳方式是什么?

  2. 如何将无效的网址转换为有效的网址?我知道这需要工作,但我想如果从无效的网址生成的有效网址与原始网址尽可能相似:例如http://www.äüö.com被修改为http://www.auo.com

3 个答案:

答案 0 :(得分:2)

我不确定你是否应该这样做,因为现在可以使用本地字符注册域名,例如www.sãopaulo.com,这可能与www.saopaulo.com不同。 这对俄语,中文等也有效。

答案 1 :(得分:2)

Android Java运行时中的

java.net.URL的行为与同名的Sun Java类很相似。如果URL格式错误,其构造函数将抛出MalformedURLException

答案 2 :(得分:1)

我强烈建议您尝试更正(在我看来“猜测”)用户输入的网址。仅安全问题就是噩梦。如果输入的URL无效,则抛出异常并继续进行。