CloseableHttpClient 带cookie请求
时间: 2023-09-27 16:04:51 浏览: 274
您可以使用 CloseableHttpClient 来发送带有 cookie 的请求。下面是一个示例代码,展示了如何使用 CloseableHttpClient 和 BasicCookieStore 来发送带有 cookie 的请求:
```java
import org.apache.http.client.CookieStore;
import org.apache.http.client.HttpClient;
import org.apache.http.client.config.RequestConfig;
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;
public class HttpClientWithCookieExample {
public static void main(String[] args) {
// 创建一个 CookieStore 对象用于存储 cookie
CookieStore cookieStore = new BasicCookieStore();
// 创建一个 HttpClient 对象
CloseableHttpClient httpClient = HttpClients.custom()
.setDefaultCookieStore(cookieStore)
.build();
try {
// 创建一个 HttpGet 请求
HttpGet httpGet = new HttpGet("https://www.example.com");
// 发送请求并获取响应
CloseableHttpResponse response = httpClient.execute(httpGet);
// 处理响应...
// 关闭响应
response.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
// 关闭 HttpClient
httpClient.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
```
在上面的示例中,我们首先创建了一个 CookieStore 对象来存储 cookie。然后,我们使用 HttpClients.custom() 方法创建了一个自定义的 CloseableHttpClient 对象,并通过 setDefaultCookieStore() 方法将 cookieStore 设置为默认的 CookieStore。接下来,我们创建了一个 HttpGet 请求,并使用 httpClient 执行该请求以获取响应。最后,我们关闭了响应和 HttpClient。
您可以根据自己的需求修改代码,并根据需要添加其他请求参数和处理响应的逻辑。
阅读全文