您可以使用URIBuilder对象
URIBuilder builder = new URIBuilder("http://example.com/");
builder.setParameter("var1", "value1").setParameter("var2", "value2");
HttpGet request = new HttpGet(builder.build());
// get back the url parameters
List<NameValuePair> params = builder.getQueryParams();
我觉得你是一个有点困惑来自客户端的getParams()
方法或列举HTTPMethod,getParams()
不会返回URL参数或类似的东西,返回客户端parameteres例如连接超时,代理,cookies ......等
在4.3.2之前,您可以使用getParams()
方法(现在不推荐使用)将参数设置为客户端,在4.3.2之后,您可以通过RequestConfig
类设置请求参数使用Builder
Builder requestConfigBuilder = RequestConfig.custom();
requestConfigBuilder.setConnectionRequestTimeout(1000).setMaxRedirects(1);
,然后设置为HttpMethod
只(不象以前的客户端)
request.setConfig(requestConfigBuilder.build());
更新:
如果你想从一个HttpGet
或HttPost
得到URI参数请求对象,您可以以相同的方式使用URIBuilder
HttpGet request = new HttpGet("http://example.com/?var=1&var=2");
URIBuilder newBuilder = new URIBuilder(request.getURI());
List<NameValuePair> params = newBuilder.getQueryParams();
感谢您的评论,但正如我所说,我不明白这些信息的含义。我不知道如何检索“配置API的构造函数参数”。 通过你的评论我明白这是一个非常简单的操作,你能否提供一个简短的例子来说明从哪里开始? – donnadulcinea
那么,当你遵循Javadoc时,这很简单,是的;然而,你似乎在混合的东西 - 'HttpParams' _does not_返回查询字符串的任何内容。 – fge