urldecoder peticion example java string http url

peticion - ¿Cómo construir url en java?



url java example (2)

Como desea crear la URL y consumirla a través de una solicitud GET, sería mejor usar una biblioteca que lo ayude en este proceso. Puede usar HttpComponents u otra biblioteca como Unirest que esté construida sobre HttpComponents que facilite todo este trabajo.

Aquí hay un ejemplo usando Unirest:

HttpResponse<String> stringResponse = Unirest.get("https://www.youtube.com/results") .field("search_query", "eñe") .asString(); System.out.println(stringResponse.getBody());

Esto recuperará la respuesta HTML correspondiente a todos los resultados de una búsqueda en youtube usando "eñe" . El carácter ñ será codificado para usted.

DESCARGO DE RESPONSABILIDAD: No estoy vinculado a Unirest de ninguna manera. No soy un desarrollador o patrocinador de este proyecto. Sólo soy un usuario feliz de este marco.

Estoy construyendo un String con StringBuilder

StringBuilder builder = new StringBuilder(); builder.append("my parameters"); builder.append("other parameters");

Entonces construyo un url

Url url = new Url(builder.toString());

Y luego intento la conexión

HttpURLConnection connection = (HttpURLConnection) url.openConnection();

Pero la url parece no estar bien con los resultados que obtengo. Es como si algún parámetro fuera falso pasado. Por eso creo que el problema está en la parte de StringBuilder.

El problema está en un doble parámetro que trato de pasar.

double longitude = 23.433114; String lng = String.ValueOf(longitude);

Y luego lo puse en la url. Pero si lo doy como una cadena el resultado es correcto.

String lng = "23.433114"

¿UrlEncoding es necesario? Intentaré lo que se sugiere a continuación.


Prueba el URIBuilder de apache: [ Documentation ]

import org.apache.http.client.utils.URIBuilder; // ... URIBuilder b = new URIBuilder("http://example.com"); b.addParameter("t", "search"); b.addParameter("q", "apples"); Url url = b.build().toUrl();

Dependencia de Maven:

<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.1</version> </dependency>