【问题标题】:How to send a request with POST parameters in Netty?如何在 Netty 中发送带有 POST 参数的请求?
【发布时间】:2012-03-13 06:58:10
【问题描述】:

我正在尝试在 Netty 中发送带有 POST 参数的请求。

我搜索了 Netty API、Google 和这里​​(堆栈溢出)

但没有找到任何好的方法来做到这一点。 (这可能是我糟糕的搜索技巧的错:'(如果是这样,我道歉)

有什么 API 可以轻松做到吗?

还是我必须自己编码所有参数并在内容中设置?

请告诉我任何好的方法。

【问题讨论】:

    标签: netty


    【解决方案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);
    

    Sending POST params with Netty and why isn't DefaultHttpDataFactory not in the releases?

    【讨论】:

    • 谢谢 :-) 其实我只是想知道是否有一种简单的方法可以使用以下 POST 参数发送请求:request.addParameter("name", "value");
    猜你喜欢
    • 1970-01-01
    • 2016-01-25
    • 1970-01-01
    • 2013-11-13
    • 2020-11-18
    • 2018-06-29
    • 1970-01-01
    • 2018-04-13
    • 2015-07-22
    相关资源
    最近更新 更多