安卓如何在java中检查给定的域名http或https?
我的问题
在我的安卓应用程序中,我从用户那里获得url输入,比如“www.google.com”
我想知道给定的url是使用http
还是https
我尝试过的
参考了一些堆栈溢出问题后,我尝试了getScheme()
try {
String url_name="www.google.com";
URI MyUri = new URI(url_name);
String http_or_https="";
http_or_https=MyUri.getScheme();
url_name=http_or_https+"://"+urlname;
Log.d("URLNAME",url_name);
}
catch (Exception e) {
e.printStackTrace();
}
但我上面的代码引发了一个异常
我的问题
上述方法getScheme()是否正确
如果上述方法不正确,如何找到url http或https
# 1 楼答案
正如所指出的,如果用户不敢提供完整的url,包括协议类型。应用程序可能会使用一种尝试和错误的方法,尝试使用可用协议列表建立连接。(http,https)。成功的点击可能被视为默认。同样,所有这些都是关于可用性的,这种方法比仅仅用难看的错误消息来烦扰一个漫不经心的用户要好
# 2 楼答案
您可以使用Apache UrlValidator
您可以指定允许的url模式,在本例中,代码如下所示:
# 3 楼答案
你不能仅从URL获取它。这没有道理。一些网站可以同时使用http&https。这取决于网站本身是否使用SSL证书