A partir de HttpComponents4.2+
hay una nueva clase URIBuilder, que proporciona una forma conveniente para generar URI.
Puede utilizar cualquiera crear URI directamente desde la URL de la secuencia:
List<NameValuePair> listOfParameters = ...;
URI uri = new URIBuilder("http://example.com:8080/path/to/resource?mandatoryParam=someValue")
.addParameter("firstParam", firstVal)
.addParameter("secondParam", secondVal)
.addParameters(listOfParameters)
.build();
De lo contrario, puede especificar todos los parámetros de forma explícita:
URI uri = new URIBuilder()
.setScheme("http")
.setHost("example.com")
.setPort(8080)
.setPath("/path/to/resource")
.addParameter("mandatoryParam", "someValue")
.addParameter("firstParam", firstVal)
.addParameter("secondParam", secondVal)
.addParameters(listOfParameters)
.build();
Una vez que haya creado URI
objeto, entonces simplemente necesita para crear el objeto HttpGet
y realizarlo:
//create GET request
HttpGet httpGet = new HttpGet(uri);
//perform request
httpClient.execute(httpGet ...//additional parameters, handle response etc.
Para una solicitud GET, el segundo método es la forma correcta de agregar parámetros. Espero que el primer enfoque sea para los métodos POST. –