HttpRequest 发送post 携带query参数
时间: 2023-10-30 18:07:32 浏览: 342
Django的HttpRequest和HttpResponse对象详解
要使用HttpRequest发送POST请求并携带query参数,可以按照以下步骤进行操作:
1. 导入所需的包,包括HttpRequest和NameValuePair。
2. 创建一个HttpClient对象。
3. 创建一个HttpPost对象,并设置请求的URL。
4. 创建一个List<NameValuePair>,用于存储query参数。
5. 将query参数添加到List<NameValuePair>中。
6. 将List<NameValuePair>转换为UrlEncodedFormEntity。
7. 将UrlEncodedFormEntity设置为HttpPost的Entity。
8. 执行HttpPost请求,并获取HttpResponse。
9. 从HttpResponse中获取响应结果。
下面是一个示例代码,展示了如何使用HttpRequest发送POST请求并携带query参数:
```
import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) {
String methodUrl = "http://192.168.1.114:8089/Springmvc-responsebody/map.do";
// 创建HttpClient对象
HttpClient httpClient = HttpClientBuilder.create().build();
// 创建HttpPost对象,并设置请求的URL
HttpPost httpPost = new HttpPost(methodUrl);
// 创建List<NameValuePair>,用于存储query参数
List<NameValuePair> params = new ArrayList<>();
// 将query参数添加到List<NameValuePair>中
params.add(new BasicNameValuePair("param1", "value1"));
params.add(new BasicNameValuePair("param2", "value2"));
try {
// 将List<NameValuePair>转换为UrlEncodedFormEntity
HttpEntity entity = new UrlEncodedFormEntity(params);
// 将UrlEncodedFormEntity设置为HttpPost的Entity
httpPost.setEntity(entity);
// 执行HttpPost请求,并获取HttpResponse
HttpResponse response = httpClient.execute(httpPost);
// 从HttpResponse中获取响应结果
HttpEntity responseEntity = response.getEntity();
String result = EntityUtils.toString(responseEntity);
// 输出响应结果
System.out.println(result);
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
注意,以上的示例代码中使用的是org.apache.http.client.HttpClient类,这是Java标准库之外的第三方库。如果你没有在项目中引入该库,请先将其添加到项目依赖中。<span class="em">1</span><span class="em">2</span>
#### 引用[.reference_title]
- *1* [java 发送带Basic Auth认证的http post请求实例代码](https://download.csdn.net/download/weixin_38556205/12791401)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* [24、http请求post形式发送map数据至SpringMVC的web项目中参数为map的方法](https://blog.csdn.net/weixin_42504840/article/details/104349406)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文