2 libufengiam libufengiam 于 2013.08.27 21:18 提问

inputStream解析url报错:UnKnownHostException:xxx.com

原文已发布在android论坛,但是没人回应,悬赏了100没人理我。
原文链接:
http://bbs.csdn.net/topics/390566835?page=1#post-395413355
程序很简单:
main里:

String urlString = "http://ftp121455.host181.web522.com/daoyutwo.txt";
InputStream inputStream;

onCreat里:

    try {
        URL url = new URL(urlString);
    //方法1:
        inputStream = url.openStream();
        Log.e("internet", "got InputStream");
    //方法2:
        URLConnection urlConnection = url.openConnection();
        inputStream = urlConnection.getInputStream();
        Log.e("internet", "got InputStream");
    //方法3:
        URLConnection urlConnection = url.openConnection();
        HttpURLConnection httpURLConnection = (HttpURLConnection)urlConnection;
        inputStream = httpURLConnection.getInputStream();
        Log.e("internet", "got InputStream");

    } catch (MalformedURLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

用真机测试,结果每次执行到"inputStream = xxx"都会报错:
java.net.UnKnownHostException: http://ftp121455.host181.web522.com

有的时候手机上同样的两个工程,函数都一样的,一个可以另一个不可以。

用模拟器完美运行。
求指点该怎么办?用手机怎么都不行,都要急死了。

3个回答

Jave_
Jave_   2013.08.28 08:35

你把http://去掉看看

libufengiam
libufengiam 我试过百度的一张图片,也是这样。就刚才,我把能联网获取数据的软件,在eclipse里改动后run一遍,可以联网。卸了再run一遍,就不行了。
4 年多之前 回复
Jave_
Jave_ 按道理不会出现这样的情况 是不是你这个网址的问题,换成其他的呢
4 年多之前 回复
libufengiam
libufengiam 是啊,两个工程main里的代码一样,我都是拷贝的,但是有的时候一个行,另一个不行。有的时候就倒过来了 。娘啊我要崩溃了。
4 年多之前 回复
Jave_
Jave_ 不好意思,我没点进去看,你说同样的两个工程,一个可以一个不可以,有点奇怪
4 年多之前 回复
libufengiam
libufengiam 不知道你看没看过我的原问答链接,我在里面试过了。如果去掉http://,会报错提示缺少协议。
4 年多之前 回复
biaoguo819
biaoguo819   2013.08.29 10:13

最好不要在主线程里面访问网络,不然会出问题的,可以新建一个线程异步加载,楼主说的同样两个工程,所使用的Android版本不一样吧

libufengiam
libufengiam 不行啊,strictMode无法识别。Multiple markers at this line - StrictMode cannot be resolved - StrictMode cannot be resolved to a type
4 年多之前 回复
biaoguo819
biaoguo819 楼主把下面的这个方法加进去试试public static void closeStrictMode() { StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder() .detectAll().penaltyLog().build()); }
4 年多之前 回复
libufengiam
libufengiam 我知道主线程里访问是会出问题的,我重新写了一个,双进程,一个获取baidu/index.html,一个获取首页的图标。结果一开始行,后来删了重装又不行了。而且4.0的系统会报错。
4 年多之前 回复
u013125604
u013125604   2015.08.14 21:09

累了老两口开口科技巨化股份惹润滑剂经济回锅肉儿童规划

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!