Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Enviar una cadena en Android con HttpPost sin usar nameValuePairs

Estaba buscando información sobre cómo puedo enviar información mediante el método HttpPost en android, y siempre veo esto:

HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost(posturl); List<NameValuePair> params = new ArrayList<NameValuePair>(); params.add(new BasicNameValuePair("Name","Var1")); params.add(new BasicNameValuePair("Name2","Var2")); httppost.setEntity(new UrlEncodedFormEntity(params)); HttpResponse resp = httpclient.execute(httppost); HttpEntity ent = resp.getEntity(); 

El problema es que no puedo hacer eso, porque tengo que conectarse a un recurso que recibe una cadena con formato XML.

Cualquier idea acerca de cómo puedo enviar sólo la cadena sin usar una List<nameValuePair>

3 Solutions collect form web for “Enviar una cadena en Android con HttpPost sin usar nameValuePairs”

¿Has intentado usar StringEntity ? Por encima del código se puede actualizar para usar StringEntity , A continuación se muestra el código resultante:

 HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost(posturl); httppost.setEntity(new StringEntity("your string")); HttpResponse resp = httpclient.execute(httppost); HttpEntity ent = resp.getEntity(); 

Puede utilizar JSON como parámetro de publicación. Trate de referirse a FlexJson

 // Sending HTTPs Requet to Server try { Log.v("GG", "Sending sever 1 - try"); // start - line is for sever connection/communication HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost( "10.0.0.1/abc.php"); List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1); nameValuePairs.add(new BasicNameValuePair("qrcode", contents)); httppost.setEntity(new UrlEncodedFormEntity( nameValuePairs)); HttpResponse response = httpclient.execute(httppost); HttpEntity entity = response.getEntity(); // end - line is for sever connection/communication InputStream is = entity.getContent(); Toast.makeText(getApplicationContext(), "Send to server and inserted into mysql Successfully", Toast.LENGTH_LONG) .show(); // Execute HTTP Post Request response= httpclient.execute(httppost); entity = response.getEntity(); String getResult = EntityUtils.toString(entity); Log.e("response =", " " + getResult); } catch (Exception e) { Log.e("log_tag", "Error in http connection " + e.toString()); } 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.