httpClient post请求带参数不带body
时间: 2023-07-06 19:04:31 浏览: 163
可以使用 HttpClient 的 `UrlEncodedFormEntity` 类来设置 POST 请求的参数。
以下是一个示例代码:
```java
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.client.methods.CloseableHttpResponse;
import java.util.ArrayList;
import java.util.List;
public class HttpClientExample {
public static void main(String[] args) throws Exception {
// 创建 HttpClient 对象
CloseableHttpClient httpClient = HttpClients.createDefault();
// 创建 HttpPost 对象
HttpPost httpPost = new HttpPost("http://example.com");
// 设置 POST 请求参数
List<NameValuePair> params = new ArrayList<>();
params.add(new BasicNameValuePair("param1", "value1"));
params.add(new BasicNameValuePair("param2", "value2"));
httpPost.setEntity(new UrlEncodedFormEntity(params));
// 发送 POST 请求
CloseableHttpResponse response = httpClient.execute(httpPost);
// 处理响应
System.out.println(response.getStatusLine());
httpClient.close();
}
}
```
在这个示例中,我们创建了一个 `HttpPost` 对象,并设置了 POST 请求的 URL 和参数。然后我们使用 `httpClient` 对象发送这个请求,并处理响应。需要注意的是,`UrlEncodedFormEntity` 类将参数编码为 HTML 表单形式,而不是 JSON 或其他格式。
阅读全文