我正忙着找到有关向本地服务器发送JSON请求的最新信息。我不断遇到使用已弃用代码的示例,我真的很想用非代码执行此操作。
我至少可以说我现在有一个工作示例,我没有收到来自NetBeans的任何已弃用的消息,但我想知道我放在一起的是正确的方式:
public void sendUpdateRequest() {
String updateString =
"{\"jsonrpc\": \"2.0\", \"method\": \"VideoLibrary.Scan\"}" ;
StringEntity entity = new StringEntity(updateString, Consts.UTF_8);
HttpPost httpPost = new HttpPost(getURL()); // http://xbmc:xbmc@10.0.0.151:8080/jsonrpc
entity.setContentType("application/json");
httpPost.setEntity(entity);
try (CloseableHttpClient client = HttpClientBuilder.create().build()) {
HttpResponse response = client.execute(httpPost);
System.out.println(response.getStatusLine()); // move to log
}
catch (IOException e) {
e.printStackTrace(); // move to log
}
}
我正在努力使用JSON HTTP请求更新XBMC
修改
更改代码以尝试使用注释的资源 - 希望这对处理JSON和Java的其他人有用
答案 0 :(得分:2)
但我想知道我所放在一起的是正确的方式:
是的,根据您发布的详细信息,您正在正确地执行此操作。
StringEntity
包含请求的正文。您可以在那里设置任何合适的标题。可以直接在HttpPost
对象上设置任何其他标头。
正如评论中所述,close()
阻止CloseableHttpClient
finally
。{/ 1}}。{/ 1}}