2010-05-15 34 views
2

我想我遇到了與 http://groups.google.com/group/android-developers/msg/9d37d64aad0ee357
這是Android 1.5 SDK。 我碰巧在 以下的代碼下調用了幾次(這是一種方法),它會間歇性地失敗。
當它失敗時,沒有異常,流爲空,因此 readConnection失敗,並且getResponseCode返回-1。
禁用全局高速緩存,setDefaultUseCaches(false);HttpsURLConnection間歇性失敗到相同的URL

我想必須有某種URL連接對象池的某處。

任何想法,我該如何解決這個問題?

HttpURLConnection connection = null; 
    try { 
     URL url = new URL(this.url); 
     connection = (HttpURLConnection) url.openConnection(); 
     connection.setRequestProperty("Authorization", "basic " + 
     Base64Coder.encodeString(user + ":" + password)); 
     connection.setRequestProperty("User-Agent", userAgent); 
     connection.connect(); 

     readConnection(connection.getInputStream()); 

     connection.disconnect(); 
    } catch (IOException ex) { 
       reportException(ex, connection.getResponseCode()) 
    } catch (ParserException ex) { 
       reportException(ex, connection.getResponseCode()) 
    } 

回答

3

我解決了這個問題的方法是添加下面的行...

System.setProperty("http.keepAlive", "false"); 

...我的連接線之前...

connection = (HttpURLConnection) url.openConnection(); 

祝你好運!

0

如果getResponseCode返回-1,則表示存在某種連接錯誤。