我有类似以下内容:
final String url = "http://example.com";
final HttpClient httpClient = new HttpClient();
final PostMethod postMethod = new PostMethod(url);
postMethod.addRequestHeader("Content-Type", "application/json");
postMethod.addParameters(new NameValuePair[]{
new NameValuePair("name", "value)
});
httpClient.executeMethod(httpMethod);
postMethod.getResponseBodyAsStream();
postMethod.releaseConnection();
它一直返回 500。服务提供商说我需要发送 JSON。 Apache HttpClient 3.1+ 是如何做到的?
原文由 Noel Yap 发布,翻译遵循 CC BY-SA 4.0 许可协议
Apache HttpClient 对 JSON 一无所知,因此您需要单独构建 JSON。为此,我建议从 json.org 查看简单的 JSON-java 库。 (如果“JSON-java”不适合您,json.org 有大量不同语言可用的库。)
生成 JSON 后,您可以使用类似下面的代码来发布它
编辑
注意 - 如问题中所要求的,上述答案适用于 Apache HttpClient 3.1。但是,为了帮助任何正在寻找针对最新 Apache 客户端的实现的人: