为了账号安全,请及时绑定邮箱和手机立即绑定

无法在android模拟器中连接本地主机

无法在android模拟器中连接本地主机

qq_遁去的一_1 2022-05-25 10:23:47
我已经看到之前有人问过这个问题,但到目前为止这些决议对我不起作用。希望有人可以阐明我做错了什么:我有 djangorestframework+postgresql 作为我笔记本电脑的后端。android 项目也在同一台笔记本电脑上。在浏览器中,当服务器运行时,我可以通过例如笔记本电脑上的以下 URL 访问 json 字符串:http://127.0.0.1:8000/posts/现在在我的 android 模拟器上,我正在使用以下内容(如许多分辨率中所建议的那样)来获取 json 字符串:http://10.0.2.2:8000/posts/但它响应为错误请求。我想确保 Android 项目中的设置正确,所以我测试并看到它可以毫无问题地从互联网 URL 读取 json api。我也在使用 okhttp3 从 url 获取 json。有人请让我知道我做错了什么。谢谢,这是我的Java代码:url2 = "http://10.0.2.2:8000/posts/";client = new OkHttpClient();request = new Request.Builder()        .url(url2)        .build();client.newCall(request).enqueue(new Callback() {    @Override    public void onFailure(Call call, IOException e) {        e.printStackTrace();    }    @Override    public void onResponse(Call call, Response response) throws IOException {        if (response.isSuccessful()) {            final String jsonResponse = response.body().string();            MainActivity.this.runOnUiThread(new Runnable() {                @Override                public void run() {                    m_textView.setText(jsonResponse);                }            });        } else {            Log.d("AMIRSERVER", jsonResponse);        }    }});
查看完整描述

2 回答

?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

我有同样的问题,但我的后端在 Win10 上的 C# 中的 IIS 上。我刚刚修改了项目“主机”文件以接受 192.168.0.1 和 10.0.2.2 IP。在它只是接受对“localhost”的调用之前,因为它是“hosts”文件中的唯一条目。

您的服务器可能有类似的东西......


查看完整回答
反对 回复 2022-05-25
?
子衿沉夜

TA贡献1828条经验 获得超3个赞

感谢埃里希,我把

ALLOWED_HOSTS = ["10.0.2.2"]

在我的 Django 设置中,它起作用了!!!


查看完整回答
反对 回复 2022-05-25
  • 2 回答
  • 0 关注
  • 178 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信