如何将 localhost Django Rest API 连接到 Android 模拟器?

问题描述 投票:0回答:1

我是 Django 和 Flutter 的新手。我有可用的 Django Rest Api,我需要将它连接到我的 flutter 应用程序。我无法将其连接到 Pixel 2 API 30 android 模拟器。 我安装了 corsheaders,尝试了多个教程,但它不起作用。

我的 ALLOWED_HOSTS 是“127.0.0.1”、“localhost”、我的 IP 以及我的电脑名称。 我的 API 曾经工作得很好,但是当我尝试连接我的 Android 应用程序时,它试图找到我没有的端口:443。由于某种原因,现在每当我运行 django 服务器时都会出现错误。

Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

Not Found: /142.250.74.42:443
[21/May/2023 17:59:14] "CONNECT 142.250.74.42:443 HTTP/1.1" 404 1800
Not Found: /216.58.207.234:443
[21/May/2023 17:59:14] "CONNECT 216.58.207.234:443 HTTP/1.1" 404 1803
Not Found: /216.58.207.202:443
[21/May/2023 17:59:14] "CONNECT 216.58.207.202:443 HTTP/1.1" 404 1803
Not Found: /[2a00:1450:400f:803::200a]:443

Django API 工作得很好,我可以访问我的数据库和管理面板,但我无法将我的应用程序连接到它。它搜索不存在的 127.0.0.1:443。我该如何解决这个问题?

当我通过 Google Chrome 运行我的应用程序时,它可以连接,但存在其他问题。对于 Chrome,我使用

BASE_URL = "http://127.0.0.1:8000"
,效果很好。

您能解释一下 :443 端口是什么吗? 如何正确地将我的 Android 模拟器连接到 API?我好失落

android django flutter api django-rest-framework
1个回答
0
投票

当您使用模拟器(例如 Android Studio 的模拟器)开发移动应用程序并且需要访问在本地主机上运行的 Django API 时,您通常无法直接在移动应用程序代码中使用 localhost 或 127.0.0.1 作为端点。模拟器通常将 localhost 视为其本身,而不是运行 Django 服务器的主机 使用“10.0.2.2”从 Android 模拟器访问本地主机。 例如,如果您的 Django 应用程序在主机上的端口 8000 上运行,您可以从 Android 模拟器访问它:http://10.0.2.2:8000/

© www.soinside.com 2019 - 2024. All rights reserved.