如何更改 java.net.http.HttpClient 的用户代理字符串

How to change the user agent string for java.net.http.HttpClient

我正在使用新的 java.net.http.HttpClient 并想更改用户代理字符串。默认情况下它发送 Java-http-client/11.0.6 但我会自己指定一些字符串。

知道怎么做吗?

存在一个bug,现在已解决。

import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse.BodyHandlers;

class Main {
    public static void main(String[] args) throws IOException, InterruptedException {
        var client = HttpClient.newHttpClient();
        HttpRequest request = HttpRequest.newBuilder(URI.create("https://httpbin.org/headers"))
                .setHeader("User-Agent", "Example user agent")
                .build();
        System.out.println(client.send(request, BodyHandlers.ofString()).body());
    }
}