Android HTTP连接被拒绝

时间:2012-02-27 17:06:02

标签: android http

我试图通过WiFi从Android设备访问本地Web服务器,我可以通过浏览器从我的笔记本电脑访问,或使用curl。我也可以在Android设备浏览器上访问服务器。

我用来访问服务器的代码会产生“连接拒绝”异常。

这是代码:

public void getController1() {
  HttpClient httpclient = new DefaultHttpClient();
  HttpGet httpget = new HttpGet("http://192.168.1.169:8000");
  HttpResponse response = null;
  System.out.println(httpget.toString());
  try {
    response= httpclient.execute(httpget);
    txtViewStatus.setText("Controller 1 - OK"+response);
  } catch(Exception e) {
    e.printStackTrace();
    txtViewStatus.setText("Controller 1 - Error"+e);
  }
}

6 个答案:

答案 0 :(得分:25)

问题解决了。问题是损坏的清单文件。我删除了权限行并重新键入它们,现在问题已经消失

答案 1 :(得分:8)

我没有得到许可;你应该检查清单文件

 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
 <uses-permission android:name="android.permission.INTERNET"></uses-permission>
 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
 <uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>    
 <uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />

答案 2 :(得分:4)

检查您的互联网连接强度。

对于我的情况,网络连接很低,因此抛出此错误。

答案 3 :(得分:3)

将此文件发送到您的清单文件:

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

答案 4 :(得分:1)

是不是因为你在使用代理?代理问题在Android HttpClient Doesn't Use System Proxy Settings中讨论(参见CommonsWare的回答)。

答案 5 :(得分:0)

你应该在android设备中启用pc套件:

1: set http url in android app e.g ("http://192.168.1.100:81/api/droid/getdata")
laptop or pc wifi ip is (192.168.1.100)
2: connect android device to pc or laptop in usb port
3: goto this setting in android device setting -> more -> Tethering and portable hotspot -> pc suite(HiSuite)
4: run android app

这项工作很好