2011-06-09 93 views
2

我得到java.net.SocketTimeoutException:當我使用下面的一段代碼發送GET請求時,傳輸端點未連接異常。該代碼適用於其他GET請求,但不適用於某個特定的URL。任何想法我可能做錯了什麼?Android - java.net.SocketTimeoutException:傳輸端點未連接

try { 
      URL mUrl = new URL(url); 
      urlConn = (HttpURLConnection) mUrl.openConnection(); 
      urlConn.setReadTimeout(5000); 
      urlConn.setConnectTimeout(5000); 
      urlConn.setRequestMethod(requestMethod); 
      if (contentType != null) 
       urlConn.addRequestProperty("Content-Type", "application/" 
         + contentType); 
      urlConn.setDoOutput(true); 
      if (query != null) { 
       urlConn.setRequestProperty("Content-Length", 
         Integer.toString(query.length())); 
       urlConn.getOutputStream().write(query.getBytes("UTF8")); 
      } 
      urlConn.connect(); 
      if (urlConn.getResponseCode() == HttpURLConnection.HTTP_OK) { 
       StringBuffer responseMsg = new StringBuffer(); 
       InputStream dis = urlConn.getInputStream(); 
       int chr; 
       while ((chr = dis.read()) != -1) { 
        responseMsg.append((char) chr); 
       } 
       return new Response(urlConn.getResponseCode(), 
         urlConn.getResponseMessage(), 
         responseMsg.toString()); 
      } 
      return new Response(urlConn.getResponseCode(), 
        urlConn.getResponseMessage(), null); 

     } catch (IOException e) { 
      throw e; 
     } finally { 
      if (urlConn != null) { 
       urlConn.disconnect(); 
      } 
     } 
+1

從logcat中添加一個完整的錯誤日誌? – Femi 2011-06-09 17:17:38

+0

什麼是失敗的網址? – Haphazard 2011-06-09 17:23:03

回答

5

它實際上是缺少權限

<uses-permission android:name="android.permission.INTERNET" /> 
相關問題