执行HttpResponse response = client.execute(request)报异常

yanping0912 2014-07-21 05:43:53
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="14" />
<!-- 使用网络 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
public class LoginThread implements Runnable {
@Override
public void run() {
Looper.prepare();
openWifi.openWifi(); // 打开WIFI
// 开启wifi功能需要一段时间(我在手机上测试一般需要1-3秒左右),所以要等到wifi
// 状态变成WIFI_STATE_ENABLED的时候才能执行下面的语句
if (openWifi.checkState() != WifiManager.WIFI_STATE_ENABLED) {
try {// 为了避免程序一直while循环,让它睡个100毫秒检测……
Log.e("正在打开WIFI,请等待。。。======", "正在打开WIFI,请等待。。。");

Thread.sleep(100);// 线程睡眠
} catch (InterruptedException e1) {
e1.printStackTrace();
}
} else {
openWifi.CreateWifiInfo("wells", "", 1);


HttpGet request = new HttpGet(url);


try {
// 发送请求
HttpClient client = getHttpClient();
Log.e("client======", "==" + client);




// 执行请求返回响应
HttpResponse response = client.execute(request);

Log.e("response======", "==" + response);

if (response.getStatusLine().getStatusCode() == 200) {// 登录成功
// 获得响应信息
responseMsg = EntityUtils
.toString(response.getEntity());
Message msg = mHandler.obtainMessage();


Log.e("responseMsg", "==" + responseMsg);
if (responseMsg.equals("1")) {

msg.what = 1;
mHandler.sendMessage(msg);
} else if (responseMsg.equals("0")) {

msg.what = 0;
mHandler.sendMessage(msg);
} else {

msg.what = 99;
mHandler.sendMessage(msg);
}
} else {
Log.e("============", "网络异常,请重试");

}

} catch (Exception e) {
e.printStackTrace();
}
}
Looper.loop();
}

}

LogCat:
07-21 17:40:18.604: E/client======(6823): ==org.apache.http.impl.client.DefaultHttpClient@43039120
07-21 17:40:18.604: W/System.err(6823): org.apache.http.conn.HttpHostConnectException: Connection to http://192.168.1.1 refused
07-21 17:40:18.604: W/System.err(6823): at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:183)
07-21 17:40:18.604: W/System.err(6823): at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
07-21 17:40:18.604: W/System.err(6823): at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
07-21 17:40:18.604: W/System.err(6823): at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)
07-21 17:40:18.614: W/System.err(6823): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
07-21 17:40:18.614: W/System.err(6823): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
07-21 17:40:18.614: W/System.err(6823): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
07-21 17:40:18.614: W/System.err(6823): at com.wells.activity.HomeActivity$LoginThread.run(HomeActivity.java:449)
07-21 17:40:18.614: W/System.err(6823): at java.lang.Thread.run(Thread.java:841)
07-21 17:40:18.614: W/System.err(6823): Caused by: java.net.ConnectException: failed to connect to /192.168.1.1 (port 80): connect failed: ENETUNREACH (Network is unreachable)
07-21 17:40:18.614: W/System.err(6823): at libcore.io.IoBridge.connect(IoBridge.java:114)
07-21 17:40:18.614: W/System.err(6823): at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
07-21 17:40:18.614: W/System.err(6823): at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:460)
07-21 17:40:18.614: W/System.err(6823): at java.net.Socket.connect(Socket.java:832)
07-21 17:40:18.614: W/System.err(6823): at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:119)
07-21 17:40:18.614: W/System.err(6823): at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:144)
07-21 17:40:18.614: W/System.err(6823): ... 8 more
07-21 17:40:18.614: W/System.err(6823): Caused by: libcore.io.ErrnoException: connect failed: ENETUNREACH (Network is unreachable)
07-21 17:40:18.624: W/System.err(6823): at libcore.io.Posix.connect(Native Method)
07-21 17:40:18.624: W/System.err(6823): at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:85)
07-21 17:40:18.624: W/System.err(6823): at libcore.io.IoBridge.connectErrno(IoBridge.java:127)
07-21 17:40:18.624: W/System.err(6823): at libcore.io.IoBridge.connect(IoBridge.java:112)
07-21 17:40:18.624: W/System.err(6823): ... 13 more

网上百度了好多 无非就是没加权限或者没开线程,但这两个我都做了的,为什么会出现这个情况?
...全文
1521 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanping0912 2014-07-22
  • 打赏
  • 举报
回复
引用 2 楼 davidleen29 的回复:
你在线程里面用上looper.prepare looper.loop; 去查阅下 这两个代码的意义
之前没加这两个也是这个错误的
老科达 2014-07-22
  • 打赏
  • 举报
回复
你在线程里面用上looper.prepare looper.loop; 去查阅下 这两个代码的意义
lionfresh 2014-07-22
  • 打赏
  • 举报
回复
Connection to http://192.168.1.1 refused
yanping0912 2014-07-21
  • 打赏
  • 举报
回复
分数给少了。。。忘了加分了

80,337

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧