Android模拟器与本地API通信

时间:2016-03-25 15:23:07

标签: java android

使用Android应用程序,我有一个本地快递api:

http://localhost:5555

尝试访问路由/test,但这似乎不适用于Android模拟器。

我已经发现我需要将网址更改为http://10.0.2.2:5555/test

但由于某种原因,我只会收到错误。

Api路线

router.post('/test', function (req, res, next) {
  console.log("recived request");
  res.sendStatus(200);
});

清单

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

摇篮

SKD第23版

已添加:useLibrary 'org.apache.http.legacy'

代码

    try {
        DefaultHttpClient client = new DefaultHttpClient();
        HttpPost httpPost = new HttpPost("http://10.0.2.2:5555/test");
        HttpResponse response = client.execute(httpPost);
        System.out.println(response.getStatusLine().toString());
    } catch (IOException e) {
        System.err.println(e.getMessage());
    } catch (Exception e) {
        System.err.println(e.getMessage());
    }

没有编译错误,虽然Android表示不推荐使用apache.http。

预期的api响应(使用java控制台应用程序测试)

recived request

使用带模拟器的代码的实际错误

System.err: null

模拟器是否使用某种我需要注意的防火墙/代理?有人经历过同样的结果吗?

我希望我的问题清楚,如果没有,我很乐意提供额外的细节。

提前致谢

修改

尝试过libs,全部变为空

  • OkHttp
  • 改造
  • 排球

0 个答案:

没有答案