gpt4 book ai didi

java - 使用 HttpURLConnection 的 HTTPS 网站

转载 作者:行者123 更新时间:2023-11-29 20:10:33 26 4
gpt4 key购买 nike

我有一个关于将 HttpUrlConnection 与 https 网络服务一起使用的问题。

基本上,我们之前编写了一堆要在 Android 应用程序中使用的 Web 服务,这些服务都是 http 调用。我们想将它们改成使用 https。基本上,我关心的是我现有的代码能否正常工作?我之前创建了如下连接:

HttpURLConnection myConnection = (HttpURLConnection) myURL.openConnection();
myConnection.setConnectTimeout(TIMEOUT_MILLISEC);
myConnection.connect();

这似乎适用于新的 https 网络服务,但我想知道为什么我不需要将其更改为这样的内容:

HttpsURLConnection myConnection = (HttpsURLConnection) myURL.openConnection();
myConnection.setConnectTimeout(TIMEOUT_MILLISEC);
myConnection.setSSLSocketFactory(createSSLSocketFactory());
myConnection.connect();

我仍然计划改用 HttpsURLConnection,但我很好奇我们的应用程序的旧版本将如何受到我们预期更改的影响。

感谢您的帮助!

最佳答案

HttpUrlConnection 的文档中你会发现:

Calling openConnection() on a URL with the "https" scheme will return an HttpsURLConnection

但是由于 HttpsUrlConnection 是从 HttpUrlConnection 扩展而来的,所以这段代码:

HttpURLConnection myConnection = (HttpURLConnection) myURL.openConnection();

如果 url 用于 https 连接,则不会导致类转换异常。您仍然可以转换为 HttpsUrlConnection - 出于安全考虑,您可以使用 instanceof 检查 url 方案是否应该更改。

关于java - 使用 HttpURLConnection 的 HTTPS 网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35025144/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com