Spring REST GET 请求生成哈希

Spring REST GET request produces hashes

这是我从特定 API 中检索 JSON 字符串的代码:

 RestTemplate restTemplate = new RestTemplate();
 String jsonString = restTemplate.getForObject("http://us.turtlepool.space/api/stats", String.class);

它适用于其他几个网站,但在这个特定的 url 上它只产生:

HH
nTmâÖë«·ó`N¦ò±t'«SÆe÷âb}
ÆùT4;%g#þj*[Ã<«5·Ì
yTÖ%e¸ìh­e7Sµ,9\ÇX.æâësR|¼oñÏ1"%ºÄÆE[.w¿bâMm¤d×2¦÷\Ê25´ègj.YÜ£×Uñmég1ÖÕ]Æ_3¼M_7f}ö6|i)ÍTæOÚìmH5ç¤fbáã
ê51

有什么问题吗?

当用 firefox 查询您的 URL 时,我看到响应 headers,我得到了 "Compression=deflate"。这意味着返回的流是 GZIP 编码的。所以,返回的字符串实际上是压缩后的内容,而不是json。我觉得很奇怪,RestTemplate 默认没有处理它。

为了使您的示例有效,我遵循了 this answer(在本地测试,响应看起来不错):

HttpComponentsClientHttpRequestFactory clientHttpRequestFactory = new HttpComponentsClientHttpRequestFactory(
            HttpClientBuilder.create().build());
    RestTemplate restTemplate = new RestTemplate(clientHttpRequestFactory);
    String jsonString = restTemplate.getForObject("http://us.turtlepool.space/api/stats", String.class);