繁体   English   中英

如何检查网址是否可以访问

[英]How to check url is reachable or not

我正在尝试检查服务器url是否可访问或在android中无法访问。 我要检查的网址是这样的: https://mydomain.se:8081/https://mydomain.se:8081/https://mydomain.se:8081/ ,也可以从互联网访问。 但是在方法下面的某个时候遇到问题会返回true,有时会返回false。

  public boolean isBackendAccessAble(String serverUrl) {
    String host = serverUrl.substring(serverUrl.indexOf("://") + 3, serverUrl.lastIndexOf(":"));
    int port = Integer.parseInt(serverUrl.substring(serverUrl.lastIndexOf(":") + 1, serverUrl.length() - 1));
    boolean isReachable = false;
    try {
        SocketAddress sockAddress = new InetSocketAddress(host, port);
        Socket sock = new Socket();
        int timeoutMs = 2000; // 2 seconds
        sock.connect(sockAddress, timeoutMs);
        isReachable = true;
    } catch (Exception e) {
        Log.w(TAG, "Unable to check serverUrl:" +   serverUrl);
    }
    return isReachable;
}

还有其他选择可以通过移动数据从android检查服务器吗?

 public boolean isBackendAccessAble(String serverUrl) {
    String host = serverUrl.substring(serverUrl.indexOf("://") + 3, serverUrl.lastIndexOf(":"));
    int port = Integer.parseInt(serverUrl.substring(serverUrl.lastIndexOf(":") + 1, serverUrl.length() - 1));
    boolean isReachable = false;
    try {
        SocketAddress sockAddress = new InetSocketAddress(host, port);
        Socket sock = new Socket();
        int timeoutMs = 2000; // 2 seconds
        sock.connect(sockAddress, timeoutMs);
        isReachable = true;
    } catch (Exception e) {
        Log.w(TAG, "Unable to check serverUrl:" +   serverUrl);
 if (e instanceof SocketTimeoutException ){
   //the url is not reachable
isReachable=false;
 }
    }
    return isReachable;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM