HTTP FAILED: java.net.ConnectException: Не удалось подключиться к /127.0.0.1:8000

<<0>>>Я Kotlin разрабатываю Django приложение

для android в <<<1>>> и пытаюсь сделать запрос к моему локальному <<<2>>> серверу, но получаю эту ошибку.<<<3>>> &lt;

<<0>>>Локальный 127.0.0.1:8000 сервер http://127.0.0.1:8000/api запущен

на IP и порту <<<1>>> и я указал в своем андроид-приложении базовый url - <<<2>>>, но я получаю эту ошибку.<<<3>>> &lt;

<<0>>>Я

попробовал запустить его как на эмуляторе, так и на физическом Android-устройстве, но в обоих случаях получил одинаковый результат.<<<1>>> &lt;

<<0>>>Я

проверил похожие вопросы на StackOverflow, и они предлагают следующие решения:<<<1>>> &lt;
    <<0>>> <<<1>>>Узнайте
  1. IP-адрес 192.168.0.102 и введите 127.0.0.1 его
  2. в ссылку,
  3. я узнал 0.0.0.0:8000 свой
  4. IP-адрес
  5. (например ALLOWED_HOSTS <<<2>>>) setting.py и использовал
  6. его
  7. вместо 10.0.2.2 <<<3>>>.
  8. <<<4>>> <<<5>>>Запустите
  9. локальный Firewall сервер 8000 через Firewall <<<6>>>. 8000 <<<7>>> <<<8>>>Добавить
  10. в <<<9>>>IP-адрес
  11. вашего 192.168.0.102:8000 ПК в
  12. <<<10>>>.
<<<11>>> <<<12>>>Используйте IP-адрес <<<13>>> для эмулятора android. <<<14>>> <<<15>>>Если у вас активен <<<16>>>, добавьте исключение для порта <<<17>>>. Несмотря на то, что у меня отключен <<<18>>>>, я все равно добавил исключение для порта <<<19>>>. <<<20>>> <<<21>>>Запустил сервер по IP-адресу <<<22>>>.<<<23>>> <<<24>>> &lt;

<<0>>>Но

когда я попробовал все это, я получил следующий результат:<<<1>>> &lt;

<<0>>>1.<<<1>>> &lt

;
<<0>>> <<<1>>>&lt;--

HTTP

FAILED:
java.net.ConnectException: Failed to connect to /192.168.0.102:80<<<2>>> <<<3>>> &lt;
    <<0>>> <<<1>>><<<2>>>Тот
  1. же результат,

    что

    и у
  2. номера
  3. 1. <<<3>>> <<<4>>> <<<5>>><<<6>>>>Тот

    же результат,

    что
  4. и у
  5. номера
  6. 1. <<<7>>> <<<8>>> <<<9>>>
<<<10>>> <<<11>>> &lt;
<<0>>> <<<1>>>&lt;--

HTTP

FAILED:
java.net.ConnectException: Failed to connect to /10.0.0.2:8000<<<2>>> <<<3>>> &lt;
<<0>>> <<<1>>>&lt;--

HTTP

FAILED:
java.net.ConnectException: Failed to connect to /10.0.0.2:80<<<2>>> <<<3>>> &lt;
    <<0>>> <<<1>>>>Тот
  1. же результат,
  2. что
  3. и у
  4. номера
1.<<<2>>> <<<3>>><<<4>>> <<<5>>> &lt;
<<0>>> <<<1>>>&lt;--

400 Bad Request

<<<2>>>http://192.168.1.102:8000/api/register/<<<3>>>
(284ms)<<<4>>> <<<5>>> &lt;

<<0>>>если вы перейдете по этому

url: <<<1>>>http://192.168.1.212:8000/api/register/<<<2>>><<3>>> &lt;

<<0>>>Мой 127.0.0.1:8000 ПК и

устройство Android подключены к одному Wi-Fi, и я использую IP-адрес ПК вместо <<<1>>>, но это дает то, что указано на скриншоте выше и в пункте 6.<<<2>>> &lt;

<<0>>>Но http://127.0.0.1:8000 <<<1>>>

открывает страницу в браузере на моем ПК, а на устройстве Android не работает.<<<2>>> &lt;

Прежде всего, попробуйте запустить приложение django с этим флагом:

python manage.py runserver 0.0.0.0:8000

затем убедитесь, что вы разрешаете использование всех узлов (только для разработки)

ALLOWED_HOSTS = ['*']

Если у вас есть физическое устройство, то 10.0.2.2 не будет работать. Вы должны использовать IP-адрес локальной сети вашего компьютера вместо 127.0.0.1.

Если вы работаете в Windows, используйте команду

ipconfig

если вы используете mac, используйте команду

ifconfig

, чтобы найти IPv4 Address (например, 192.168.1.100).

измените URL-адрес и повторите попытку:

val BASE_URL = "http://192.168.1.100:8000/api/"
Вернуться на верх