我正在创建一个处理 HTTP 连接的类,我想同时处理 HTTP 和 HTTPS,但使用相同的变量(所以我可以使用相同的代码来发送数据等)目前,我的代码看起来像这样:
if (ssl)
{
conn = (HttpsURLConnection) new URL(...).openConnection();
conn.setHostnameVerifier(...);
}
else
{
conn = (HttpURLConnection) new URL(...).openConnection();
}
当“conn”是 HttpsURLConnection 类型时,HttpURLConnection 转换失败。当“conn”的类型为 HttpURLConnection 或 URLConnection 时,“setHostnameVerifier”和其他 HTTPS 相关方法无法访问。
鉴于 HttpsURLConnection 是 HttpURLConnection 类的子类,我认为强制转换它会起作用,但我显然错了。有什么方法可以让这段代码工作,以便我可以在需要时访问 HTTPS 方法?