Android解析地址到没有协议的URL

时间:2013-11-22 17:09:20

标签: java android

我正在以一种干净的方式将像“www.google.com”这样的地址解析为一个URL对象,如果没有给出协议,它将采用http协议(但仍然可以正常用于“https://www.google.com” )。

java.net.URL构造函数正确地将这些地址作为格式错误的URL吐出,我找不到内置的方法来执行此操作。

零互联网积分可用于建议我搜索“://”或类似内容。我需要一种干净的方法来正确解析地址。

2 个答案:

答案 0 :(得分:1)

这是你要找的吗?

String url = ...
            if (!url.startsWith("https://") && !url.startsWith("http://")){
            url = "http://" + url;
        }

答案 1 :(得分:0)

我会使用以下内容,至少在提交一个不起作用的测试用例之前:

URL url=null;

try {
  url=new URL(yourString);
}
catch (MalformedURLException e) {
  url=new URL("http://"+yourString);
}

基本上,使用http://前缀重试建议的URL,如果解析,则假设它是无方案方案。