You can use an URIBuilder object
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();
I think you are a bit confused about the getParams()
method from the client or HttpMethod, getParams()
does not return the URL parameters or something like that, returns the client parameteres like connection timeout, proxy, cookies... etc
Before 4.3.2 you could set the parameters to the client using the getParams()
method (deprecated now), after 4.3.2 you can set the request params via the RequestConfig
class using a Builder
Builder requestConfigBuilder = RequestConfig.custom();
requestConfigBuilder.setConnectionRequestTimeout(1000).setMaxRedirects(1);
and then set to the HttpMethod
only (not to client like before)
request.setConfig(requestConfigBuilder.build());
Update:
If you want to get the URI parameters from an HttpGet
or HttPost
request object you can use the URIBuilder
in the same way
HttpGet request = new HttpGet("http://example.com/?var=1&var=2");
URIBuilder newBuilder = new URIBuilder(request.getURI());
List<NameValuePair> params = newBuilder.getQueryParams();
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…