带有 URLConnection 和 getInputStream 的 IOException

Posted

技术标签:

【中文标题】带有 URLConnection 和 getInputStream 的 IOException【英文标题】:IOException with URLConnection and getInputStream 【发布时间】:2012-04-20 22:11:52 【问题描述】:

我正在尝试从带有 android 应用程序的网站获取数据。

这是我的代码:

URL url = new URL("http://www.google.com/ig/api?weather=Schriesheim,Germany");
URLConnection uCon = url.openConnection();
iStream = uCon.getInputStream();

getInputStream() 方法返回一个 IOException,我已经尝试了很多在 Internet 上找到的东西,但没有任何效果。 顺便说一句,我在 Java 应用程序中尝试了这段代码并且它工作正常,所以我认为问题出在我的 Android 设置中。

我已经在我的 Manifest.xml 中添加了这些行:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />

我正在使用 Eclipse 并运行 Archlinux x64。 有什么想法吗?

谢谢。

【问题讨论】:

有什么解决方案适合你吗? 【参考方案1】:

您可以尝试使用此功能从互联网获取数据

        public static String get(String from) 
            try 
                HttpClient client = new DefaultHttpClient();  
                HttpGet get = new HttpGet(from);
                HttpResponse responseGet = client.execute(get);  
                HttpEntity resEntityGet = responseGet.getEntity();  
                if (resEntityGet != null) return EntityUtils.toString(resEntityGet);
                 catch (Exception e) 
                    Log.e("GET", e.toString());
                
            return null;
        

【讨论】:

感谢您的帮助。但我得到一个 IO 异常:responseGet = client.execute(get); 我真的认为这是一个 android 配置问题,但我无法弄清楚..【参考方案2】:

试试

uCon.setDoInput(true);

之前

uCon.getInputStream();

【讨论】:

以上是关于带有 URLConnection 和 getInputStream 的 IOException的主要内容,如果未能解决你的问题,请参考以下文章

利用URLConnection来发送POST和GET请求

UrlConnection连接和Socket连接的区别

android 中HttpClient和URLConnection的区别

URLConnection 和HttpURLConnection 相关

UrlConnection 没有内容类型

URLConnection-URL连接