我将一些旧代码从apache commons http客户端(3.0.1)移到http客户端4.25,并且不再看到用于将[名称,值]对传递给服务器的PostMethod $ addParameter()方法。

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

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

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

最佳答案

参见示例:

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

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


您可以找到NameValuePair here的文档

10-01 00:35