El siguiente código sirve para enviar una petición POST con protocolo 'http' contra una URL, añadiendo a la petición el usuario y contraseña que nos solicitará el servidor, y un XML en forma de cadena:
String protocolo) {
String response = "";
OutputStreamWriter wr = null;
BufferedReader rd = null;
try {
URL url = new URL(request);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
// Escribir los parametros en el mensaje
conn.setDoOutput(true);
conn.setAllowUserInteraction(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "text/xml");
conn.setDefaultUseCaches(false);
String auth = username + ":" + password;
conn.setRequestProperty("Authorization", "Basic "
+ Base64.encodeBytes(auth.getBytes()));
wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(datos);
wr.flush();
// Recibir respuesta
conn.connect();
rd = new BufferedReader(
new InputStreamReader(conn.getInputStream()));
String line;
while ((line = rd.readLine()) != null) {
// Process line...
response += line;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (wr != null) {
wr.close();
}
if (rd != null) {
rd.close();
}
} catch (IOException ex) {
System.out
.println("Exception al cerrar el lector o el escritor");
}
}
return response;
}
No hay comentarios:
Publicar un comentario