我已经在ubuntu上设置了Django服务器,我想从其中获取JSON数据并将其显示在android设备上,但我不知道服务器名称。 我尝试了10.0.2.2,localhost,127.0.0.1和ip地址,但没有一个起作用。喜欢:
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
HttpClient httpClient = new DefaultHttpClient();
HttpGet method = new HttpGet("http://localhost:8000/books/4/?format=json");
try {
HttpResponse response = httpClient.execute(method);
InputStream is = response.getEntity().getContent();
content[0] = IStoString(is);
Log.i("SERVERTEST", content[0]);
} catch (ClientProtocolException r) {
r.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
});
thread.start();
该代码可与其他API配合使用。
例外是:与http://127.0.0.1:8000的连接被拒绝
答案 0 :(得分:0)
当我使用android设备进行测试时,我会执行以下步骤: 1.打开设备wifi热点 2.将Ubuntu服务器连接到设备的wifi 3.在Ubuntu终端中,运行ifconfig获取IP地址 4.在Ubuntu上运行Web服务器 5.使用步骤3中的IP地址从设备连接
但是我发现我也需要在设备上打开数据连接,不确定为什么。
答案 1 :(得分:0)
您可以使用其中一些服务,这些服务将提供到本地主机的隧道,并为您提供一个外部可用的URL,即使使用https
。
因此,如果您有http://127.0.0.1:8000/my_endpoint
可以从互联网上以https://{provided_url}/my_enpoint
的形式获得。