Can';t访问我的笔记本电脑';通过Android应用程序访问本地主机

Can';t访问我的笔记本电脑';通过Android应用程序访问本地主机,android,python,django,localhost,django-rest-framework,Android,Python,Django,Localhost,Django Rest Framework,因此,我在发布这篇文章之前做了一项研究,我发现解决方案不起作用,更准确地说: -连接到我笔记本电脑的IPv4192.168.XXX.XXX-无法工作 -连接到10.0.2.2(加上端口)-不起作用 我需要测试我用Django Rest框架构建的API,这样我就可以得到它返回的json,但我无法通过我正在构建的Android应用程序访问(我正在用真实设备而不是模拟器进行测试)。在清单上设置了Internet权限,我可以正常访问远程网站。只是无法访问笔记本电脑的本地主机(它们位于同一网络中) 我对A

因此,我在发布这篇文章之前做了一项研究,我发现解决方案不起作用,更准确地说:

-连接到我笔记本电脑的IPv4
192.168.XXX.XXX
-无法工作

-连接到
10.0.2.2
(加上端口)-不起作用

我需要测试我用Django Rest框架构建的API,这样我就可以得到它返回的
json
,但我无法通过我正在构建的Android应用程序访问(我正在用真实设备而不是模拟器进行测试)。在清单上设置了Internet权限,我可以正常访问远程网站。只是无法访问笔记本电脑的本地主机(它们位于同一网络中)

我对Android、Python和Django(用于构建Django的Rest框架API)也是相当陌生的

编辑:我使用
localhost:8000/snippets.json
或类似的smth在笔记本电脑上连接

PS:我读了一些关于XAMP服务器的东西。。。这种情况下我需要它吗


提前感谢

您是这样启动服务器的吗

python manage.py runserver 0.0.0.0:8000

然后,尝试连接到192.168.XXX.XXX:8000

您是否像这样启动了服务器

python manage.py runserver 0.0.0.0:8000

然后,尝试连接到192.168.XXX.XXX:8000

我尝试了上述操作,但在我的情况下失败。然后是跑步 python manage.py runserver 0.0.0.0:8000我还必须在settings.py中将我的IP添加到允许的_主机,这就解决了这个问题

例如。 在settings.py中将ip添加到允许的主机 允许的_主机=['192.168.XXX.XXX']

然后运行服务器
python manage.py runserver 0.0.0.0:8000

我尝试了上述方法,但在我的案例中失败。然后是跑步 python manage.py runserver 0.0.0.0:8000我还必须在settings.py中将我的IP添加到允许的_主机,这就解决了这个问题

例如。 在settings.py中将ip添加到允许的主机 允许的_主机=['192.168.XXX.XXX']

然后运行服务器 python manage.py runserver 0.0.0.0:8000

其他人已经给出了答案,但当我在Ubuntu上运行Django server并试图从我的移动应用程序访问它时,这些解决方案对我来说不起作用。 以下是对我有效的方法: 步骤1:运行服务器从IP访问它 第2步:在防火墙中打开端口(上面给出的答案中缺少步骤-Ubuntu需要) 其他人已经给出了答案,但当我在Ubuntu上运行Django服务器并试图从我的移动应用程序访问它时,这些解决方案对我来说不起作用。 以下是对我有效的方法: 步骤1:运行服务器从IP访问它 第2步:在防火墙中打开端口(上面给出的答案中缺少步骤-Ubuntu需要)
您使用什么命令来运行服务器?您是否通过内置的web服务器运行它?或者通过更工业的方式,如Apache或nginx?10.0.2.2仅适用于模拟器。localhost也不会工作,因为它会引用Android设备本身。IP地址是您的最佳选择。您的机器是否连接到与设备相同的wifi网络?您是否有可能阻止连接的防火墙?两者都在同一个连接上。我在MYSQL workbench上运行了一个MYSQL数据库,Django Rest API连接到该数据库以获得数据编辑:通过内置的web服务器猜测它。您使用什么命令来运行服务器?您是否通过内置的web服务器运行它?或者通过更工业的方式,如Apache或nginx?10.0.2.2仅适用于模拟器。localhost也不会工作,因为它会引用Android设备本身。IP地址是您的最佳选择。您的机器是否连接到与设备相同的wifi网络?您是否有可能阻止连接的防火墙?两者都在同一个连接上。我在MYSQL workbench上运行了一个MYSQL数据库,Django Rest API连接到该数据库以获得数据编辑:猜测它是通过内置的web服务器运行的。我只是通过PyCharm运行了该API。它会自动运行服务器,但我会试试你的建议。顺便问一下,0.0.0.0意味着什么?不应该是本地主机之类的?它工作得很好。。我可以通过手机浏览器访问Web服务,这意味着向所有可以连接到您计算机的网络开放应用程序。通过局域网,您的计算机可以通过其IP连接到。谢谢!我在google上搜索了所有地方,但都找不到这个解决方案。我只是通过PyCharm运行了API。它会自动运行服务器,但我会试试你的建议。顺便问一下,0.0.0.0意味着什么?不应该是本地主机之类的?它工作得很好。。我可以通过手机浏览器访问Web服务,这意味着向所有可以连接到您计算机的网络开放应用程序。通过局域网,您的计算机可以通过其IP连接到。谢谢!我在谷歌上到处搜索,都找不到这个解决方案。
$ sudo ufw enable 
$ sudo ufw allow 8000