我遇到了一種情況,即我在具有需要安全登錄才能訪問網絡的無線接入點的企業網絡中。大約30分鐘的空閒時間後,它會提示用戶重新進行身份驗證。Android:無線接入點會話超時和主機名認證錯誤
在我的應用程序中(使用retrofit + okhttp),「你的會話超時」表現爲「java.io.IOException:Hostname'example.com'未驗證」異常。更仔細的檢查表明,'example.com'正在針對無線接入點的證書進行驗證,唯一與證書關聯的有效域是接入點的域(securelogin.arubanetworks.com)。這是觸發異常的原因。如果我離開應用程序,啓動瀏覽器,重新驗證w /接入點並返回到應用程序,我仍然得到相同的主機名未驗證問題。這讓我有兩個問題:
1)有沒有更好的方法來檢測這種超時情況,而不是等待和處理IOException?
2)我似乎無法讓http客戶端在會話超時後停止嘗試驗證接入點證書的主機名。一旦用戶重新驗證(通過瀏覽器)而無需重新啓動應用程序,是否有恢復的方法?