commons httpclient - 将查询字符串参数添加到 GET/POST 请求
2022-08-31 11:57:53
我正在使用共享资源HttpClient对Spring servlet进行http调用。我需要在查询字符串中添加一些参数。所以我做以下事情:
HttpRequestBase request = new HttpGet(url);
HttpParams params = new BasicHttpParams();
params.setParameter("key1", "value1");
params.setParameter("key2", "value2");
params.setParameter("key3", "value3");
request.setParams(params);
HttpClient httpClient = new DefaultHttpClient();
httpClient.execute(request);
但是,当我尝试使用servlet中读取参数时
((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()).getRequest().getParameter("key");
它返回空值。实际上,参数Map是完全空的。当我在创建 HttpGet 请求之前手动将参数附加到 url 时,这些参数在 servlet 中可用。当我使用附加了queryString的URL从浏览器点击servlet时也是如此。
这是什么错误?在 httpclient 3.x 中,GetMethod 有一个 setQueryString() 方法来附加查询字符串。4.x 中的等效项是什么?