我正在将一些遗留代码从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执行此操作的基本习惯是什么?
答案 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实体的业务将由请求构建器负责。