Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android中HTTP請求出現“Received authentication challenge is null”異常和“Read timed out”解決

Android中HTTP請求出現“Received authentication challenge is null”異常和“Read timed out”解決

編輯:關於Android編程

 
這兩天忽然收到Test Team告知公司Android客戶端一應用在部分手機上出現下述異常,部分又運行良好,很是奇怪:
1)HttpUtils/ getInputStream failed, e:Received authentication challenge is null
 
PS: 應用請求采用的是Java中的HttpConnection,而沒有使用HttpClient。
 
後來經過多台手機的測試發現確實存在這樣的問題,而且是出現在android v4.04版本上的。後來查了下資料發現很多人也遇到了類似的問題,比如:
1) http://d.hatena.ne.jp/Kazzz/20100706/p1
2) http://www.cnblogs.com/slider/archive/2012/07/16/2593816.html
 
而且大家都是使用的Java中的HttpConnection出的問題,都是在請求身份驗證的時候出現的。後來發現,是由於服務器返回了401錯誤之後(比如用戶名密碼錯誤的時候)。這個好像也是jdk的一個bug,我在buglist中找到過這個bug。但是不知道如何解決,於是,我把HttpConnection替換成了HttpClient,結果又出現了如下異常:
1)W/System.err(18984): java.net.SocketTimeoutException: Read timed out
 
於是又開始陷入了另一個坑裡,經過各種測試發現,原來是HttpClient中setSoTimeout(params, 0);設置的問題,原來我設置的是4s,後來修改為20s(這個值偶爾會出問題),後來我直接設置成0,問題解決。
 
這個問題耗了我太多的時間了,惱火啊。。。在這裡記錄一下,也給遇到同樣問題的朋友做個參考吧。
 
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved