2010-05-15 69 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,则表示存在某种连接错误。