android 无法连接到本地主机/127.0.0.1:5000

ndasle7k  于 2023-01-07  发布在  Android
关注(0)|答案(3)|浏览(650)

我正在使用 Retrofit2 发出网络请求,但端点在我的本地计算机上。
所以我的基本URL是private val BASE_URL = "http://localhost:8000/",但它给我的响应是Failed to connect to localhost/127.0.0.1:5000
我做了一些搜索,发现我需要使用本地IP地址作为以下private val BASE_URL = "http:192.168.1.15//:8000/",但随后我得到了以下响应Response{protocol=http/1.1, code=404, message=Not Found, url=http://192.168.1.15//:8000/api/Home/RegisterShop}
你知道怎么解决这个问题吗?

rkue9o1l

rkue9o1l1#

如果您使用的是 Android 模拟器,主机的IP地址将为10.0.2.2。
所以在你的例子中它是http://10.0.2.2:8000/

vsaztqbk

vsaztqbk2#

您应该做的事情:
1.使用本地IP地址,而不是localhost或127.0.0.1
1.在本地时,没有SSL,因此您需要将以下内容放入清单:

<uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"

以及<application>

<application
    android:usesCleartextTraffic="true">

之后,它应该工作...但请记住,如果你去prod,CleartextTraffic=“true” 不是一个好主意。

laik7k3q

laik7k3q3#

在我的例子中,本地服务器地址是http://127.0.0.1:5000(我使用flask作为我的服务器,它默认运行在端口5000上)

相关问题