无法在 android 模拟器中连接本地主机
Cannot connect the local host in android emulator
我看到以前有人问过这个问题,但到目前为止这些解决方案对我不起作用。希望有人可以阐明我做错了什么:
我的笔记本电脑上有 djangorestframework+postgresql 作为我的后端。 android 项目也在同一台笔记本电脑上。
在浏览器中,当服务器为 运行:
时,我可以在笔记本电脑上通过以下 URL 访问 json 字符串
现在在我的 android 模拟器上,我正在使用以下内容(如许多决议中所建议的那样)来获取 json 字符串:
但它响应为错误请求。
我想确保 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);
}
}
});
我遇到了同样的问题,但我的后端在 Win10 上的 C# 中的 IIS 上。我刚刚修改了项目 'hosts' 文件以接受 192.168.0.1 和 10.0.2.2 IP。在它只是接受对 'localhost' 的调用之前,因为它是 'hosts' 文件中的唯一条目。
您的服务器可能有类似的东西...
感谢埃里希,
我放
ALLOWED_HOSTS = ["10.0.2.2"]
在我的 Django 设置中成功了!!!
我看到以前有人问过这个问题,但到目前为止这些解决方案对我不起作用。希望有人可以阐明我做错了什么:
我的笔记本电脑上有 djangorestframework+postgresql 作为我的后端。 android 项目也在同一台笔记本电脑上。
在浏览器中,当服务器为 运行:
时,我可以在笔记本电脑上通过以下 URL 访问 json 字符串现在在我的 android 模拟器上,我正在使用以下内容(如许多决议中所建议的那样)来获取 json 字符串:
但它响应为错误请求。
我想确保 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);
}
}
});
我遇到了同样的问题,但我的后端在 Win10 上的 C# 中的 IIS 上。我刚刚修改了项目 'hosts' 文件以接受 192.168.0.1 和 10.0.2.2 IP。在它只是接受对 'localhost' 的调用之前,因为它是 'hosts' 文件中的唯一条目。
您的服务器可能有类似的东西...
感谢埃里希, 我放
ALLOWED_HOSTS = ["10.0.2.2"]
在我的 Django 设置中成功了!!!