[英]Https Website using HttpURLConnection
我有一个关于将HttpUrlConnection
与https Web服务一起使用的问题。
基本上,我们之前已经编写了一堆要用于Android应用程序的Web服务,这些服务都是http调用。 我们希望将其改为使用https。 基本上,我所关心的是,现有代码是否可以正常工作? 我以前创建了如下连接:
HttpURLConnection myConnection = (HttpURLConnection) myURL.openConnection();
myConnection.setConnectTimeout(TIMEOUT_MILLISEC);
myConnection.connect();
这似乎可以与新的https Web服务配合使用,但是我想知道为什么我不需要将其更改为以下内容:
HttpsURLConnection myConnection = (HttpsURLConnection) myURL.openConnection();
myConnection.setConnectTimeout(TIMEOUT_MILLISEC);
myConnection.setSSLSocketFactory(createSSLSocketFactory());
myConnection.connect();
我仍然打算改用HttpsURLConnection
,但是我很好奇我们的应用程序的旧版本将如何受到预期更改的影响。
谢谢您的帮助!
在HttpUrlConnection的文档中,您将找到:
使用“ https”方案在URL上调用openConnection()将返回HttpsURLConnection
但是由于HttpsUrlConnection是从HttpUrlConnection扩展的,因此此代码:
HttpURLConnection myConnection = (HttpURLConnection) myURL.openConnection();
如果url用于https连接,将不会导致类强制转换异常。 您仍然可以强制转换为HttpsUrlConnection-出于安全考虑,您可以使用instanceof
检查url方案是否应该更改。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.