【问题标题】:How to fix HTTP 504 Gateway timeout exception如何修复 HTTP 504 网关超时异常
【发布时间】:2019-10-14 18:24:35
【问题描述】:

我正在尝试向另一个 API 发出 GET 请求以获取 json 响应。

当我使用以下代码发出请求时,我收到 HTTP 504 错误(网关超时错误)。

但是,当我通过 REST 客户端工具尝试时,请求不会引发任何错误。

如何增加代码中的时间间隔以避免超时错误?

这是调用的样子:

HttpClient httpClient = getBasicAuthDefaultHttpClient();
String url= "http://XXXXX";
HttpGet httpGet = new HttpGet(url);
httpGet.addHeader("id", id);
httpGet.addHeader("secret", secret);
httpGet.addHeader("network_val", networkval);

HttpResponse response = httpClient.execute(httpGet);
HttpEntity entity = response.getEntity();

if (entity != null && response.getStatusLine().getStatusCode() == HttpStatus.OK.value()) {
    ObjectMapper objectMapper = new ObjectMapper();
    restInfo = objectMapper.readValue(entity.getContent(), MyClass.class);
} else {
    logger.error("Call to API failed: response code = {}", response.getStatusLine().getStatusCode());
}

请注意:

这可能与“https”有关吗?

当我通过Insomnia REST Client 尝试使用“http”时,我收到错误:错误:从对等方接收数据时失败。 https 工作正常,没有任何错误 (https://XXXXX)

【问题讨论】:

  • 请发帖MCVE。在这段代码中,您甚至没有执行您的 Get 请求。
  • 我刚刚更新了。
  • 端点可能没有在标准的http端口上监听,可能只在https上提供服务,所以是的,试试https。除此之外,在对服务器了解不多的情况下,我们无能为力。

标签: java http http-headers http-status-code-504


【解决方案1】:

这是我尝试过的。

public HttpClient getBasicAuthDefaultHttpClient() {
    CredentialsProvider provider = new BasicCredentialsProvider();
    UsernamePasswordCredentials creds = new UsernamePasswordCredentials(user, 
    password);
    provider.setCredentials(AuthScope.ANY, creds);

    //Fix to avoid HTTP 504 ERROR (GATEWAY TIME OUT ERROR)
    RequestConfig.Builder requestBuilder = RequestConfig.custom();
    requestBuilder.setConnectTimeout(30 * 1000);
    requestBuilder.setConnectionRequestTimeout(30 * 1000);

    HttpClientBuilder builder = HttpClientBuilder.create();
    builder.setDefaultRequestConfig(requestBuilder.build());
    builder.setDefaultCredentialsProvider(provider).build();

    return builder.build();
}

【讨论】:

    猜你喜欢
    • 2019-09-09
    • 1970-01-01
    • 2020-06-03
    • 1970-01-01
    • 2023-02-22
    • 1970-01-01
    • 2013-09-01
    • 2013-05-12
    • 1970-01-01
    相关资源
    最近更新 更多