我有 .json 类型的URI http://data.seattle.gov/api/views/vncn-umqp/rows.json,并希望发出GET请求以检索对象的data
部分(请参阅页面的后半部分)用“数据”)用于绘图目的。
问题是我不确定是使用HttpURLConnection
,URL
,URLConnection
还是Connection
或任何其他类似资源才能获得成功的200响应。此外,这个URI的域为请求提供了一个REST API right here,但是由于文档中的不一致(例如,他们使用sun.Base64Encoder来编码用户凭证,这是不可使用或不可用的),我觉得很难使用用于连接,更不用说数据检索了。
他们还使用带有API密钥的身份验证方法,但我不确定哪个工作可以完成任务的简单性(即,只有从该特定URI读取数据才需要哪个)
有人能为我提供如何提出此类请求的解决方案吗?
答案 0 :(得分:3)
您可以使用Apache HttpClient向Web资源发出请求,它包含在Android API中。发出GET请求很简单:
HttpGet get = new HttpGet("http://data.seattle.gov/api/views/vncn-umqp/rows.json");
HttpClient client = new DefaultHttpClient();
HttpResponse response = client.execute(get);
System.out.println(response.getStatusLine());
然后,您可以使用JSON库来解析响应。客户端还支持其他HTTP谓词(POST
,PUT
,DELETE
...)。
关于你问题的第二部分,它有点令人困惑,因为它似乎暗示这个REST API是由你链接的web服务的同一个提供者提供的,但事实并非如此。此外,它并不是很明显,它实际上是一个REST 客户端 API。您可能想要更新您的问题以清除它。但回到主题,您不需要为此使用复杂的REST客户端API,只需使用HttpClient访问内容并使用JSON库处理它。
祝你好运!答案 1 :(得分:1)