如何使用 Apache http 客户端的 URIBuilder 在 HTTP 请求中发送正文?
How can I send a body in a HTTP request using Apache http client's URIBuilder?
我知道我可以使用 setParameter
方法添加 http 参数,但是如何使用 URIBuilder
class 将正文传递给 http 请求?
比如这个
URI uri = new URIBuilder().setScheme("http")
.setHost("localhost:9091/test").setParameter("a", "1")
.setParameter("b", "2").build();
等同于以下curl请求:
curl -X POST http://localhost:9091/test\?a\=1\&b\=2
但是如何使用 URIBuilder
(或任何其他 class)为以下卷曲构建 URL:
curl -X POST http://localhost:9091/test -d '{"a":1,"b":2}'
HttpUriRequest request = RequestBuilder.create("POST")
.setUri("http://localhost:9091/test")
.setEntity(new StringEntity("{\"a\":1,\"b\":2}", ContentType.APPLICATION_JSON))
.build();
我知道我可以使用 setParameter
方法添加 http 参数,但是如何使用 URIBuilder
class 将正文传递给 http 请求?
比如这个
URI uri = new URIBuilder().setScheme("http")
.setHost("localhost:9091/test").setParameter("a", "1")
.setParameter("b", "2").build();
等同于以下curl请求:
curl -X POST http://localhost:9091/test\?a\=1\&b\=2
但是如何使用 URIBuilder
(或任何其他 class)为以下卷曲构建 URL:
curl -X POST http://localhost:9091/test -d '{"a":1,"b":2}'
HttpUriRequest request = RequestBuilder.create("POST")
.setUri("http://localhost:9091/test")
.setEntity(new StringEntity("{\"a\":1,\"b\":2}", ContentType.APPLICATION_JSON))
.build();