2

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

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

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

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

4

2 回答 2

4

参见示例:

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

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

你可以在这里找到文档NameValuePair

于 2013-09-11T13:52:52.037 回答
0

从 4.3 版开始,也可以

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

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

于 2013-09-15T13:33:48.427 回答