我知道存在更好的URL验证方法,这个例子可能更常见。但当url =“一些随机英语句子”时,有人可以告诉我以下URL验证码可能有什么问题吗?
我看到验证失败了。不知道为什么。
/**
* Checks if url is ok
* THIS METHOD DOESNT SEEM TO WORK WELL
*
* @param url
* @return True if url is ok, False otherwise
*/
static public boolean isUrlOk(String url) {
try {
URL urlObject = new URL(url);
String host = urlObject.getHost();
return true;
} catch (Exception e) {
return false;
}
}
问题:随机句子有时会返回true。
答案 0 :(得分:2)
修改catch部分以添加e.printStacktrace()以获取失败原因的详细信息。 如果你正在尝试“一些随机英语句子”,它将失败,没有指定协议。
答案 1 :(得分:1)
根据http://docs.oracle.com/javase/7/docs/api/java/net/URL.html#URL(java.lang.String)的java.net.URL
API文档:
MalformedURLException - if no protocol is specified, or an unknown protocol is found, or spec is null.
由于未指定方案,因此抛出了异常。