Как отправить запрос с параметрами POST в Netty?

Я пытаюсь отправить запрос с параметрами POST в Netty.

Я искал Netty API, Google и здесь (переполнение стека)

но не нашел хорошего способа сделать это. (Возможно, это моя вина в ужасном навыке поиска :'( Если так, то прошу прощения)

Есть ли какой-либо API, чтобы сделать это легко?

Или мне нужно сделать это, закодировав все параметры и установив их в контенте самостоятельно?

Пожалуйста, дайте мне знать любой хороший способ сделать это.


person Johnny Lim    schedule 12.03.2012    source источник


Ответы (1)


Вот пример того, как вы могли бы сделать загрузку файла:

https://github.com/netty/netty/tree/master/example/src/main/java/io/netty/example/http/upload

Если вы не хотите загружать файл, просто игнорируйте составной бит MIME.

Попробуйте что-то вроде:

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);
httpReq.setHeader(HttpHeaders.Names.CONTENT_TYPE,"application/x-www-form-urlencoded");     
String params="a=b&c=d";
ChannelBuffer cb=ChannelBuffers.copiedBuffer(params,Charset.defaultCharset());
httpReq.setHeader(HttpHeaders.Names.CONTENT_LENGTH,cb.readableBytes());
httpReq.setContent(cb);

См. Отправка параметров POST с помощью Netty. и почему DefaultHttpDataFactory нет в релизах?

person Veebs    schedule 12.03.2012
comment
Спасибо :-) На самом деле я просто хочу знать, есть ли простой способ отправить запрос с параметрами POST, например: request.addParameter(name, value); - person Johnny Lim; 13.03.2012