簡體   English   中英

使用HttpURLConnection的Https網站

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM