Java HTTP 客户端输出空 JSON

标签 java json http httpclient influxdb

我正在运行以下代码:

CloseableHttpClient httpclient = HttpClients.createDefault();
HttpGet httpGet = new HttpGet("http://10.0.0.22:8086/db/cadvisorDB/series?u=root&p=root&q=select%20max(memory_usage)%20from%20stats%20where%20container_name%20%3D%27execution_container_"+bench_list+"_"+i+"%27%20and%20memory_usage%20%3C%3E%200%20group%20by%20container_name");
//Thread.sleep(10000);
CloseableHttpResponse requestResponse = httpclient.execute(httpGet);
String response=EntityUtils.toString(requestResponse.getEntity());
System.out.println(response);

输出控制台:

[]

当我等待 HttpResponse 30 秒时,它起作用了。我得到了完整的响应(带有数据点的 JSON):

Thread.sleep(30000);

是否可以使用 Apache Java 客户端告诉客户端等待,直到获得不同于“[]”的值。我的意思是一个非空的 Json。

使用超时并不能解决问题。

提前谢谢你

最佳答案

然后设置超时就可以了。

HttpGet request = new HttpGet(url);

    // set timeouts as you like
    RequestConfig config = RequestConfig.custom()
            .setSocketTimeout(60 * 1000).setConnectTimeout(20 * 1000)
            .setConnectionRequestTimeout(20 * 1000).build();

    request.setConfig(config);

关于Java HTTP 客户端输出空 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34317845/

相关文章:

java简单服务器客户端程序

java - itext7 中 Chunk.NEWLINE 的替代品是什么

java - 输入数字中某些数字的总和

php - 在 Laravel Blade View 中从 JSON 数据创建菜单

javascript - 执行包含检查 JSon 对象

java - 无法将上下文从 onpostexecute 传递到共享首选项

python - Google Shortener API 和 Python 出错

返回为 null 的 Java Web 服务请求参数

java - Solr 网络管理错误 500

python - 我将如何创建一个 Python Web 服务器来根据任何 GET 请求下载文件?