Saltar al contenido

Java 11: nuevo cliente HTTP envía solicitudes POST con parámetros x-www-form-urlencoded

Nuestros programadores estrellas han agotado sus provisiones de café, buscando todo el tiempo por la solución, hasta que César encontró el arreglo en GitLab así que en este momento la compartimos contigo.

Solución:

Creo que la siguiente es la mejor manera de lograr esto usando Java 11:

Map parameters = new HashMap<>();
parameters.put("a", "get_account");
parameters.put("account", account);

String form = parameters.keySet().stream()
        .map(key -> key + "=" + URLEncoder.encode(parameters.get(key), StandardCharsets.UTF_8))
        .collect(Collectors.joining("&"));

HttpClient client = HttpClient.newHttpClient();

HttpRequest request = HttpRequest.newBuilder().uri(URI.create(this.url))
        .headers("Content-Type", "application/x-www-form-urlencoded")
        .POST(BodyPublishers.ofString(form)).build();

HttpResponse response = client.send(request, BodyHandlers.ofString());

System.out.println(response.statusCode() + response.body().toString());

Recuerda algo, que tienes autorización de interpretar si te ayudó.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *