Java - 使用apache.http.client.methods.HttpPost发送HTTP参数

时间:2013-04-17 05:19:23

标签: java json apache-httpclient-4.x arrays

我正在尝试使用httpclient发送application/json数据,我也希望通过http post发送一些参数。

使用apache.http.client.methods.HttpPost时如何执行此操作。

请有人帮我解决这个问题。

最好的问候

1 个答案:

答案 0 :(得分:2)

我不确定您是否可以同时发送帖子参数 JSON,因为JSON字符串已经是请求正文的内容。您可以尝试将查询参数作为URL的一部分发送,并为您的JSON创建常规StringEntity

String jsonString = createMyJsonString();
HttpPost post = new HttpPost(urlWithQueryParams);
post.setHeader("Content-Type", "application/json");
post.setEntity(new StringEntity(jsonString,"UTF-8")); 

如果您要发布到REST服务,通常会在URL路径中包含标识资源的参数。因此,如果您可以控制终点,则可以考虑使POST网址独立于查询/帖子参数。