2011-06-09 96 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" /> 
相关问题