如何找到一个使用Django服务器与Android设备联系的本地主机?

时间:2018-12-21 08:35:39

标签: android django request localhost

我已经在ubuntu上设置了Django服务器,我想从其中获取JSON数据并将其显示在android设备上,但我不知道服务器名称。 我尝试了10.0.2.2,localhost,127.0.0.1和ip地址,但没有一个起作用。喜欢:

Thread thread = new Thread(new Runnable() {
        @Override
        public void run() {

            HttpClient httpClient = new DefaultHttpClient();
            HttpGet method = new HttpGet("http://localhost:8000/books/4/?format=json");
            try {
                HttpResponse response = httpClient.execute(method);
                InputStream is = response.getEntity().getContent();
                content[0] = IStoString(is);
                Log.i("SERVERTEST", content[0]);
            } catch (ClientProtocolException r) {
                r.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }

        }
    });
    thread.start();

该代码可与其他API配合使用。

  

例外是:与http://127.0.0.1:8000的连接被拒绝

2 个答案:

答案 0 :(得分:0)

当我使用android设备进行测试时,我会执行以下步骤: 1.打开设备wifi热点 2.将Ubuntu服务器连接到设备的wifi 3.在Ubuntu终端中,运行ifconfig获取IP地址 4.在Ubuntu上运行Web服务器 5.使用步骤3中的IP地址从设备连接

但是我发现我也需要在设备上打开数据连接,不确定为什么。

答案 1 :(得分:0)

您可以使用其中一些服务,这些服务将提供到本地主机的隧道,并为您提供一个外部可用的URL,即使使用https

因此,如果您有http://127.0.0.1:8000/my_endpoint 可以从互联网上以https://{provided_url}/my_enpoint的形式获得。