这句出现异常一般有三种情况:
1、传输异常:出在本地网络连接
2、协议异常:身份验证未通过
3、超时:分为两种
   a、httpClient无法连接到服务器(连接超时)
   b、连接到服务器,服务器没有在规定时间内返回响应(套接字超时)

解决方案 »

  1.   

    这里有异常是很正常的事,例如,连接超时,服务端无响应,地址不可用等等,你现在要做的就是try/catch扑捉异常,然后做自己的处理。
      

  2.   

    可能忘了加网络权限 <uses-permission android:name="android.permission.INTERNET" />
      

  3.   


    我执行这代码:HttpResponse ht = hc.execute(new  HttpPost(url));有时会报错,IP是自动获取的,每天都不一样.
    请问如何放到线程里执行?
      

  4.   

    HttpResponse response = httpclient.execute(httppost); 执行到这里的时候就抛出异常了, 为什么?
    lz你的问题解决了没有啊,我也刚遇到了这样的问题,你为什么说4.0之后要放大线程里面去呢,能不能跟我分享你是怎么解决的896788056QQ这是我号
      

  5.   

    UI与网络的数据交换,要放到线程里,防止UI线程因为数据加载造成阻塞,可以用asynctask或thread或handler来解决。
      

  6.   


    访问网络不能直接在ui线程里面执行   需要另起线程new Thread(){
    public void run(){
    //
    HttpResponse response = httpclient.execute(httppost); 
    //等等之类的
    }
    }
      

  7.   

    我也出现了这个错误,调试了很久也不知道结果,后来找到问题解决了,下面是解决方法:
    1. 把这些连接网络的代码放在新开的线程里,不能在UI线程中。
       new Thread() {
    @Override
    public void run() {
    // TODO Auto-generated method stub
    这里是线程在执行的代码
    super.run();
    }
    }.start();
    2. 在AndroidManifest.xml 里面加上访问网络的权限 <uses-permission android:name="android.permission.INTERNET" />,如果没有加,则会抛出警告:No address associated with hostname ,警告信息会在日子里面给出,而且还会提示在哪一行出错。
    希望我的回答能够给你帮助...
      

  8.   

    真的要在新的thread内处理?试试。。