Как найти локальный хост, используя сервер Django для связи с устройством Android? - PullRequest
0 голосов
/ 21 декабря 2018

Я установил сервер Django в Ubuntu и хочу получить с него данные 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 голосов
/ 21 декабря 2018

Вы можете использовать некоторые из этих сервисов, которые предоставят туннель вашему локальному хосту и предоставят вам внешне доступный URL даже с https.

Так что если у вас есть http://127.0.0.1:8000/my_endpoint Он будет доступен как https://{provided_url}/my_enpoint из Интернета.

0 голосов
/ 21 декабря 2018

при тестировании на устройстве Android я делаю следующие шаги: 1. открыть горячую точку wifi устройства 2. подключить сервер Ubuntu к wifi устройства 3. в терминале Ubuntu запустите ifconfig для получения IP-адреса 4. запустите веб-сервер на Ubuntu 5. подключиться с устройства с помощью IP-адреса с шага 3

Но я обнаружил, что мне нужно будет также открыть подключение для передачи данных на устройстве, не знаю почему.

...