什么相当于http客户端4.25中的PostMethod $ addParameter()

时间:2013-09-11 13:50:04

标签: java apache http-post

我正在将一些遗留代码从apache commons http client(3.0.1)移动到http客户端4.25,并且不再看到用于将[name,value]对传递给服务器的PostMethod $ addParameter()方法....

它出现在http客户端4.25,我必须创建某种HttpEntity,然后我可以使用HttpPost $ setEntity()....绑定到我的请求....

就我而言,我有一组参数,其值为(long !!)Base64编码的文本字符串;所以我不想通过URL发送这些参数,而是将它们放在请求的主体中......

使用http客户端4.25执行此操作的基本习惯是什么?

2 个答案:

答案 0 :(得分:3)

参见示例:

        List <NameValuePair> nvps = new ArrayList <NameValuePair>();
        nvps.add(new BasicNameValuePair("sub", data));          

        //httpost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));

您可以找到NameValuePair here

的文档

答案 1 :(得分:0)

从版本4.3开始,也可以

    HttpUriRequest request = RequestBuilder.create("POST")
            .addParameter("sub", "stuff")
            .build();

构建正确的HTTP实体的业务将由请求构建器负责。