Zhangjian He
← Blog

多语言编程 各大Http库配置指南

Go

Go标准库

timeout

client := http.Client{
    Timeout: timeout,
}

connection timeout

client := http.Client{
    Transport: &http.Transport{
        Dial: (&net.Dialer{
            Timeout: timeout,
        }).Dial,
    },
}

Java

标准库(jdk17+)

timeout

    HttpRequest request = HttpRequest.newBuilder()
        .uri(URI.create("http://example.com"))
        .timeout(Duration.ofSeconds(10))
        .build();

connectionTimeout

        HttpClient.Builder builder = HttpClient.newBuilder()
        .connectTimeout(Duration.ofSeconds(10))
        .version(HttpClient.Version.HTTP_1_1);

Reactor Netty

timeout

        HttpClient client = HttpClient.create().responseTimeout(Duration.ofSeconds(10));

connectionTimeout

        HttpClient client = HttpClient.create().option(ChannelOption.CONNECT_TIMEOUT_MILLIS, 5000);