在Java中使用HttpClient发送请求时,可以使用Proxy类设置正向代理。下面是一个示例代码片段来设置正向代理:
import java.net.InetSocketAddress;
import java.net.Proxy;
import java.net.URI;
import java.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class HttpClientExample {
public static void main(String[] args) {
// 设置代理服务器的主机和端口号
InetSocketAddress proxyAddress = new InetSocketAddress("proxy.example.com", 8080);
// 创建代理
Proxy proxy = new Proxy(Proxy.Type.HTTP, proxyAddress);
// 创建自定义的HttpClient构造器,并设置代理
HttpClient httpClient = HttpClient.newBuilder()
.proxy(proxy)
.build();
// 创建需要发起的请求
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(".com"))
.build();
try {
// 发送请求并获取响应
HttpResponse<String> response = httpClient.send(request, HttpResponse.BodyHandlers.ofString());
// 处理响应结果
System.out.println("Response Code: " + response.statusCode());
System.out.println("Response Body: " + response.body());
} catch (Exception e) {
e.printStackTrace();
}
}
}
在上述示例中,我们通过创建一个Proxy
对象,并指定代理服务器的主机名和号来设置正向代理。然后,我们使用HttpClient.newBuilder()
创建一个自定义的HttpClient构建器,并使用.proxy(proxy)
方法将代理设置添加到构建器中。最后,我们使用此构建器创建一个HttpClient实例,并通过该实例发送请求。
确保将proxy.example.com
和8080
替换为适当的代理服务器主机名和端口号。此外,你还可以根据需要配置其他HttpClient参数,例如超时设置和认证等。