java - 如何使用 HttpURLConnection 检查 https

标签 java android http httpurlconnection

我正在尝试使用 HttpUrlConnection 连接到一个 url。用户输入的主机可以运行在http://或https://上。当我连接时,它抛出异常作为 EOFException。 有什么方法可以通过一些错误代码或其他东西来识别 url 在 https 上运行吗??

我为此目的使用以下代码。

HttpURLConnection.setFollowRedirects(true);
con = (HttpURLConnection) new URL(url[0]).openConnection();
con.setRequestMethod("POST");
con.setConnectTimeout(20000);

我正在使用住所代码如果 url 无效怎么办就像我键入 wwww.gooooooodldldle.com 这是无效的网址。我在这里得到 Java.net.SocketTimeout 异常

最佳答案

如果您不重新创建连接,则在创建连接后 URL 将无法更改。我会这样做以了解协议(protocol)。

URL url;
try {
    url = new URL(url[0]);
    if(url.getProtocol().equalsIgnoreCase(HTTPS){
        Lod.i(TAG, "Is HTTPS connection");
    } else {
        Log.i(TAG, "Is HTTP connection");
    }
} catch (EOFException eofEx) {
    eofEx.printStackTrace();
}

更新后:

您可以使用正则表达式检查 url 字符串,如果正确则尝试连接。或者将所有逻辑放在 try catch 中,并在出现异常时显示 toast 或对话框。

希望对您有所帮助。

关于java - 如何使用 HttpURLConnection 检查 https,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27314619/

相关文章:

java - Android,没有 AppCompat,全屏 - 最正确的风格?

java - 如何使对话框始终位于最前面?

java - 表单的“.fill()”函数未给出任何结果或错误

http - 处理虚拟主机 http 和 https 的区别

http - 我应该使用哪种 HTTP 重定向方法?

java - acegi 使用与 Spring 不同的 session 吗?

安卓邮件发送验证

android - 未创建 DaggerAppComponent

android - 任何适用于 Android Phonegap 的 admob 教程

http - 如何在 curl 配置文件中设置自定义 header