tener son que poner moviles mis marca los datos cualquier cuales configurar como celular activar android httpurlconnection postdata

android - que - cuales son los datos moviles de un celular



Android HTTPUrlConnection: ¿cómo configurar los datos de la publicación en el cuerpo http? (2)

Ya creé mi HTTPUrlConnection:

String postData = "x=val1&y=val2"; URL url = new URL(strURL); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); conn.setRequestProperty("Set-Cookie", sessionCookie); conn.setRequestProperty("Content-Length", "" + Integer.toString(postData.getBytes().length)); // How to add postData as http body? conn.setUseCaches(false); conn.setDoInput(true); conn.setDoOutput(true);

No sé cómo configurar postData en el cuerpo http. ¿Cómo hacer eso? ¿Sería mejor usar HttpPost en HttpPost lugar?

Gracias por tu ayuda.


Si desea enviar String solo intente de esta manera:

String str = "some string goes here"; byte[] outputInBytes = str.getBytes("UTF-8"); OutputStream os = conn.getOutputStream(); os.write( outputInBytes ); os.close();

Pero si desea enviar como Json, cambie el tipo de contenido a:

conn.setRequestProperty("Content-Type","application/json");

y ahora nuestro str podemos escribir:

String str = "{/"x/": /"val1/",/"y/":/"val2/"}";

Espero que ayude,


guruparang.blogspot.com/2016/01/… en el comentario anterior da una muy buena respuesta a esta pregunta. Recomiendo mirarlo. Aquí está el principio que hace que su solución funcione:

Por lo que entiendo, el HttpURLConnection representa el cuerpo de respuesta como OutputStream. Entonces debes llamar a algo como:

obtener la corriente de salida de la conexión

OutputStream op = conn.getOuputStream();

escribe el cuerpo de respuesta

op.write( [/*your string in bit form*/] );

cerrar la secuencia de salida

op.close();

y luego sigue tu camino feliz con la conexión (que aún necesitarás cerrar).