con.getInputStream()在Android项目中抛出异常,如何解决?

问题描述:

con.getInputStream()抛出异常,当android, 上运行代码但是将代码复制到常规java项目中时,它正在工作,
抛出的对象e包含“detailMessage = Permission denied”。 我的代码::con.getInputStream()在Android项目中抛出异常,如何解决?

  public static HttpData get(String sUrl) { 
       HttpData ret = new HttpData(); 
       String str; 
       StringBuffer buff = new StringBuffer(); 
       try { 
         URL url = new URL(sUrl); 
         URLConnection con = url.openConnection(); 
         BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())); 
         while ((str = in.readLine()) != null) { 
           buff.append(str); 
         } 
         ret.content = buff.toString(); 

         //get headers 
         Map<String, List<String>> headers = con.getHeaderFields(); 
         Set<Entry<String, List<String>>> hKeys = headers.entrySet(); 
         for (Iterator<Entry<String, List<String>>> i = hKeys.iterator(); i.hasNext();) { 
           Entry<String, List<String>> m = i.next(); 

           Log.w("HEADER_KEY", m.getKey() + ""); 
           ret.headers.put(m.getKey(), m.getValue().toString()); 
           if (m.getKey().equals("set-cookie")) 
           ret.cookies.put(m.getKey(), m.getValue().toString()); 
         } 
       } catch (Exception e) { 
         Log.e("HttpRequest", e.toString()); 
       } 
       return ret; 
     } 

con object while debug

+1

你为什么不给我们抛出异常? – aioobe 2011-01-29 13:10:51

加入<uses-permission android:name="android.permission.INTERNET"/>标签体现 将解决这个问题。 感谢杰姆斯评论。

确保您获得<uses-permission android:name="android.permission.INTERNET"/>而不是<permission android:name="android.permission.INTERNET"/>!那位我一个小时......