CloseableHttpClient 带已知cookie请求
时间: 2023-09-27 14:04:51 浏览: 125
您可以使用Apache HttpClient库中的CloseableHttpClient类来发送带有已知cookies的请求。以下是一个示例代码:
```java
import org.apache.http.HttpEntity;
import org.apache.http.client.CookieStore;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.BasicCookieStore;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
public class HttpClientExample {
public static void main(String[] args) throws Exception {
// 创建一个Cookie存储对象
CookieStore cookieStore = new BasicCookieStore();
// 添加已知的cookie到Cookie存储对象中
// 请根据实际情况替换为您自己的cookie
cookieStore.addCookie(new BasicClientCookie("cookie_name", "cookie_value"));
// 创建CloseableHttpClient对象,并设置Cookie存储对象
CloseableHttpClient httpClient = HttpClients.custom()
.setDefaultCookieStore(cookieStore)
.build();
// 创建HttpGet请求对象
HttpGet httpGet = new HttpGet("https://www.example.com");
// 发送请求,获取响应
CloseableHttpResponse response = httpClient.execute(httpGet);
// 解析响应
HttpEntity entity = response.getEntity();
String responseBody = EntityUtils.toString(entity);
// 打印响应内容
System.out.println(responseBody);
// 关闭资源
response.close();
httpClient.close();
}
}
```
在上面的示例中,我们首先创建了一个CookieStore对象,并将已知的cookie添加到其中。然后,我们使用HttpClients.custom()方法创建CloseableHttpClient对象,并将Cookie存储对象设置为默认的Cookie存储。接下来,我们创建HttpGet请求对象,并执行该请求。最后,我们解析响应并打印响应内容。
请注意,上述示例中的URL是示例URL,请根据您的实际需求替换为您想要请求的URL。并且,请替换示例代码中的"cookie_name"和"cookie_value"为您自己的cookie名称和值。
阅读全文