【发布时间】:2020-09-13 19:51:06
【问题描述】:
我试图了解如何为每个使用 Java API 构建的请求实现代理的使用:
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.version(HttpClient.Version.HTTP_2)
.uri(URI.createh("https://myurl"))
.timeout(Duration.ofMinutes(2))
.setHeader("User-Agent","Just an user agent")
.GET()
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
我从文档中看到 (https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpClient.html#Asynchronous%20Example)
Synchronous 请求可以做到这一点。我的代码在一个方法中,它将与线程并行运行。那么如何使用Asynchronous Requests 设置代理呢?如果不可能,它们之间有什么区别?
【问题讨论】:
-
异步示例使用与同步示例相同的
HttpClient。你在building the client时设置了代理。 -
@Slaw 不,如果您尝试将代理方法添加到链中,在我的情况下,我
HttpClientC.Builder().proxy(...).newHttpClient()但这似乎不起作用。 -
@Slaw 在我发帖时已解决,谢谢。
标签: java post get httprequest httpapi