我正在努力思考如何为 Web 服务器构建 HTTP Post 请求。
我找到了这段代码
HttpRequest httpReq=new DefaultHttpRequest(HttpVersion.HTTP_1_1,HttpMethod.POST,uri);
httpReq.setHeader(HttpHeaders.Names.HOST,host);
httpReq.setHeader(HttpHeaders.Names.CONNECTION,HttpHeaders.Values.KEEP_ALIVE);
httpReq.setHeader(HttpHeaders.Names.ACCEPT_ENCODING,HttpHeaders.Values.GZIP);
String params="a=b&c=d";
ChannelBuffer cb=ChannelBuffers.copiedBuffer(params,Charset.defaultCharset());
httpReq.setHeader(HttpHeaders.Names.CONTENT_LENGTH,cb.readableBytes());
httpReq.setContent(cb);
根据我的推断,这个请求似乎将发送一个带有两个值 a 和 c 的 POST 请求,这两个值分别等于 b 和 d。
我想做的是提交一个 JSON 请求。例如,如果我的后期数据需要
{
"test": "value",
"key": "value",
}
我会用该字符串本身替换 a=b&c=d 吗?另外,我必须将内容类型设置为 application/json。
如果有人可以帮助我或为我指明正确的方向,我将不胜感激。