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