Ответ 1
Вы можете использовать объект 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 или что-то в этом роде, возвращает параметры клиента, такие как тайм-аут подключения, прокси, файлы cookie... и т.д.
До 4.3.2 вы можете установить параметры клиенту с помощью метода getParams()
(теперь не рекомендуется), после 4.3.2 вы можете установить параметры запроса с помощью класса RequestConfig
, используя Builder
Builder requestConfigBuilder = RequestConfig.custom();
requestConfigBuilder.setConnectionRequestTimeout(1000).setMaxRedirects(1);
а затем установите только HttpMethod
(не для клиента, как раньше)
request.setConfig(requestConfigBuilder.build());
Update:
Если вы хотите получить параметры URI из объекта запроса HttpGet
или HttPost
, вы можете использовать URIBuilder
тем же способом
HttpGet request = new HttpGet("http://example.com/?var=1&var=2");
URIBuilder newBuilder = new URIBuilder(request.getURI());
List<NameValuePair> params = newBuilder.getQueryParams();