httpclient发送get请求携带参数和请求头
时间: 2023-08-10 11:00:17 浏览: 187
你可以使用Apache HttpClient库发送GET请求并携带参数和请求头。下面是一个示例代码:
```java
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.NameValuePair;
import org.apache.http.client.utils.URIBuilder;
import org.apache.http.message.BasicNameValuePair;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
HttpClient httpClient = HttpClientBuilder.create().build();
try {
// 构建请求参数
List<NameValuePair> params = new ArrayList<>();
params.add(new BasicNameValuePair("param1", "value1"));
params.add(new BasicNameValuePair("param2", "value2"));
// 构建请求URI
URI uri = new URIBuilder()
.setScheme("http")
.setHost("example.com")
.setPath("/api/endpoint")
.setParameters(params)
.build();
// 创建GET请求
HttpGet request = new HttpGet(uri);
// 添加请求头
request.addHeader("User-Agent", "Mozilla/5.0");
// 发送请求并获取响应
httpClient.execute(request);
} catch (IOException | URISyntaxException e) {
e.printStackTrace();
}
}
}
```
在上面的示例中,我们通过`URIBuilder`构建了带参数的请求URI,并使用`HttpGet`创建了GET请求。然后,我们使用`request.addHeader()`方法添加了请求头,并使用`httpClient.execute()`方法发送请求并获取响应。请注意,示例中的参数和URI仅供参考,请根据实际情况进行修改。
阅读全文