Cómo ejecutar solicitudes HTTP POST en Android

HTTP Post es parte de clases HTTP rechazadas como org.apache.http y AndroidHttpClient de Android 5.1.https: //developer.android.com/about/versions/android-5.1.html#http Migre su código a las clases HttpURLConnection que .. .

Parte 1 de 2:

Cree un objeto Try Block y HttpURLConnection

  1. Agregue permisos de Internet al Manifiesto de Android. El manifiesto de Android es un archivo XML que proporciona información importante al sistema Android que determina la compatibilidad del dispositivo y el acceso a las funciones. En el archivo "AndroidManifest.xml", ingrese la siguiente línea para proporcionar acceso a Internet.

     android:name="android.permission.INTERNET" /> 

  2. Crear una unidad de muestra. En Java, la declaración de prueba es un controlador de excepciones que evitará que un programa se bloquee si no puede realizar una acción. Debido a que esto requerirá una conexión a una ubicación de red, la declaración de prueba detectará una excepción si no puede establecer una conexión. Puede agregar esto a un nuevo método Java.[2]

    try { //enter statements that can cause exceptions } 

  3. Cree objetos HttpURLConnection y URL. Java es un lenguaje orientado a objetos. El objeto consta de estados y comportamientos que son una instancia de una clase. El objeto HttpURLConnection envía y recibe datos a través de Internet. En su código, comience su nuevo método creando un objeto URL y estableciéndolo en la URL para que se conecte el objeto HttpURLConnection. [3]

    URL url = new URL('http://exampleurl.com/');	 HttpURLConnection client = (HttpURLConnection) url.openConnection(); 

      1. Como práctica recomendada, configure los objetos URL y HttpURLConnection fuera del bloque de prueba para que sea más fácil detectar excepciones.
    URL url = new URL('http://exampleurl.com/');	 HttpURLConnection client = null; try { client = (HttpURLConnection) url.openConnection(); } 

Parte 2 de 2:

Publicación de la solicitud de salida y manejo de excepciones

  1. Establezca el método de solicitud en Publicar. Para enviar información al servidor, debe establecer el tipo de objeto HttpURLConnection para publicar y establecer la salida en verdadero usando setDoOutput (). Use la función setRequestProperty () para establecer una propiedad de solicitud común que requiere dos elementos, una clave con una solicitud conocida del servidor y un valor contenido en esa clave.

    1. La función setRequestProperty () se usa como encabezado de la solicitud de codificación de aceptación para deshabilitar la descompresión automática.
      client.setRequestMethod('POST'); client.setRequestProperty('Key','Value'); client.setDoOutput(true); 

  2. Envíe el flujo al servidor. Debe solicitar el flujo de salida del servidor para que pueda escribir en el flujo de salida o publicar, y luego borre y cierre el flujo cuando haya terminado.

    OutputStream outputPost = new BufferedOutputStream(client.getOutputStream()); writeStream(outputPost); outputPost.flush(); outputPost.close(); 

      1. Por motivos de rendimiento, es una buena idea que el servidor sepa cuántos bytes tendrá el contenido. El mejor método es setFixedLengthStreamingMode (int), cuando se conoce la longitud del cuerpo,[4] mientras que setChunkedStreamingMode (int) se usa si se desconoce su longitud.[5] Si no se utiliza ninguno de los métodos anteriores, el objeto HttpURLConnection almacena en búfer todo el cuerpo en la memoria antes de que se transmita.
    client.setFixedLengthStreamingMode(outputPost.getBytes().length); client.setChunkedStreamingMode(0); 

  3. Obtener todas las excepciones. Después de la declaración de prueba, use el bloque catch para verificar las excepciones de inicio y salida con IOException, detecte un error en la URL con la excepción MalformedURL y verifique que la URL no proporcione una respuesta oportuna con la excepción SocketTimeoutException.

    catch(MalformedURLException error) { //Handles an incorrectly entered URL } catch(SocketTimeoutException error) { //Handles URL access timeout. } catch (IOException error) { //Handles input and output errors } 

  4. Desconecte la URL. Una vez que haya terminado con su enlace de URL, deberá desvincular la URL. Asegúrate de estar vinculado a una URL antes de intentar desconectarte.

    finally { if(client != null) // Make sure the connection is not null. client.disconnect(); } 

Deja una respuesta

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

Subir
error: Content is protected !!