代码里面调用的网址不正确的原因吧。
看你发上来出错提示的IP是:61.4.185.34,而你所说的那个网址的IP是:113.108.239.107
网址对应的IP与你出错提示的IP不同,估计是你代码里面调用的网址是另外一个。

解决方案 »

  1.   

    我也不知道怎么回事啊,我确定那个地址是从代码里copy出来然后粘到pc浏览器上的,pc上可以直接得到json数据,手机上就连接不上。另外,权限都加了。
    他还有两个API,都是顶级域名http://www.weather.com.cn/data/cityinfo/101020100.html 这个直接copy到代码里就可以请求到数据。而换成http://m.weather.com.cn/data/101020100.html就不行了。不知道怎么回事,难道是域名解析不了?
      

  2.   

    建议你在模拟器上先试试看,模拟器和PC用的同样的网络,如果模拟器上也出错的话,那只能说是你代码有问题了。另外建议代码检查一下,在Get之前用Log输出一下网址看是否正确。
      

  3.   

    你的http的timeout有没有设置好?我测试了一下,是可以访问并得到json数据的。
    看看你的httpclient的设置。
            CONNECTION_TIMEOUT_MS = 30 * 1000;
            HttpConnectionParams.setConnectionTimeout(params, CONNECTION_TIMEOUT_MS);
            HttpConnectionParams.setSoTimeout(params, CONNECTION_TIMEOUT_MS);
    如果还不行,就是你的网络的问题了
      

  4.   

    那为什么墨迹天气等一些weather widget可以呢?他们用的也是类似的方法吧?
    楼主可以把代码贴出来,大家一起分析一下,也让大家一起学习,进步
      

  5.   


    把网址
    http://m.weather.com.cn/data/101020100.html换成:
    http://113.108.239.107/data/101020100.html试试
      

  6.   

    但是你要考虑万一哪天IP变了就又不能用了,以前做过类似的应用,联通的手机无法访问某个网址A,解决办法:先默认都访问指定的网址A,如果访问不了的话,那么再访问一个自己的一个网址网页B,自己的这个网页网页用asp写的,功能是读取网址A的内容并显示出来。通过这种方法,大部分手机都可以读取到一样的内容。
      

  7.   

    http://113.108.239.107/data/101010100.html
    这样就可以了