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


Método http post que transmite valores nulos al servidor

try { url= new URL(ConstantsClass.VENDOR_FOLLOW + "?UID=" +android_id+"&URL='"+resultfinal+"'&device=android"); connection = (HttpURLConnection) url.openConnection(); connection.setDoOutput(true); connection.setRequestMethod("POST"); request = new OutputStreamWriter(connection.getOutputStream()); request.flush(); request.close(); request.write("Hello!!!"); String line = ""; InputStreamReader isr = new InputStreamReader(connection.getInputStream()); BufferedReader reader = new BufferedReader(isr); StringBuffer sb = new StringBuffer(); while((line=reader.readLine())!=null) { sb.append(line + "&"); } response = sb.toString(); //response.getEntity().getContent(); Log.i("Test", "updated response: " + response); } catch (IOException e) { e.printStackTrace(); } Log.i("Test", "**************url list********************" + url); tag_text.setOnClickListener(new OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub Intent in=new Intent(context,LinkWebView.class); in.putExtra("vendorUrl", resultfinal); context.startActivity(in); //postData(); } }); } tag_text.setTextSize(16); return view; } 

Hola, soy nuevo en android y estoy tratando de pasar valores de la url al servidor, pero estoy recibiendo valores nulos pasados ​​en el lado del servidor. La respuesta de actualización está dando null. Mis valores del lado del servidor no me dan ningún valor. Tengo que pasar la url, android_id y el dispositivo de la url que se da más arriba. Intenté el httpclient también pero me da valores nulos en eso también.

2 Solutions collect form web for “Método http post que transmite valores nulos al servidor”

Usted debe intentar debajo del código que funciona muy bien para mí.

  // ADD YOUR REQUEST DATA HERE (you can pass number of variable). ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); nameValuePairs.add(new BasicNameValuePair("Your_var_1", value)); nameValuePairs.add(new BasicNameValuePair("Your_var_2", value)); 

Ahora establece tu conexión web como

(1) Enviar una cadena simple al servidor

  try { HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost("your url only ex:www.google.com/abc"); httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); HttpParams httpParameters = new BasicHttpParams(); DefaultHttpClient httpClient = new DefaultHttpClient(httpParameters); HttpResponse response = httpclient.execute(httppost); HttpEntity entity = response.getEntity(); is = entity.getContent(); } catch (Exception e) { Log.e("Loading Runnable Error in http connection :", e.toString()); } 

(2) Enviar cadena JSON Encode al servidor

 HttpClient client = new DefaultHttpClient(); HttpConnectionParams.setConnectionTimeout(client.getParams(), 10000); //Timeout Limit HttpResponse response; JSONObject json = new JSONObject(); try { HttpPost post = new HttpPost(URL); json.put("user_name", "chintan"); json.put("password", "khetiya"); StringEntity se = new StringEntity( json.toString()); se.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "application/json")); post.setEntity(se); response = client.execute(post); /*Checking response */ if(response!=null){ is = response.getEntity().getContent(); //Get the data in the entity } } catch(Exception e) { e.printStackTrace(); createDialog("Error", "Cannot Estabilish Connection"); } 

La respuesta será la misma en ambos casos

 try { BufferedReader reader = new BufferedReader(new InputStreamReader(is, "iso-8859-1"), 8); StringBuilder sb = new StringBuilder(); String line = null; while ((line = reader.readLine()) != null) { sb.append(line + "\n"); } is.close(); result = sb.toString(); } catch (Exception e) { Log.e("Loading Runnable Error converting result :", e.toString()); } 

Ahora en el resultado final contienen toda la cadena de salida ahora su depende de usted cómo va a leer sus datos. Usando json o bien. Estoy haciendo usando json así que ponga el código del ejemplo de él puede ser provechoso a usted.

 JSONObject json_data = new JSONObject(result);// its a string var which contain output. my_output_one = json_data.getString("var_1"); // its your response var form web. my_output_two = json_data.getString("var_2"); 

Ahora su sobre usted tiene dos variable que teniendo cualquier clase de valor y de uso cualesquiera eran.

Ahora esto le será de ayuda. Si usted tiene cualquier pregunta déjeme saber.

Por favor, llame a la versión después de escribir y cierre la secuencia en finalmente bloquear. Compruebe hacia fuera el código siguiente:

  try { url= new URL(ConstantsClass.VENDOR_FOLLOW + "?UID=" +android_id+"&URL='"+resultfinal+"'&device=android"); connection = (HttpURLConnection) url.openConnection(); connection.setDoOutput(true); connection.setRequestMethod("POST"); request = new OutputStreamWriter(connection.getOutputStream()); request.write("Hello!!!"); request.flush(); String line = ""; InputStreamReader isr = new InputStreamReader(connection.getInputStream()); BufferedReader reader = new BufferedReader(isr); StringBuffer sb = new StringBuffer(); while((line=reader.readLine())!=null) { sb.append(line + "&"); } response = sb.toString(); //response.getEntity().getContent(); Log.i("Test", "updated response: " + response); } catch (IOException e) { e.printStackTrace(); } Log.i("Test", "**************url list********************" + url); tag_text.setOnClickListener(new OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub Intent in=new Intent(context,LinkWebView.class); in.putExtra("vendorUrl", resultfinal); context.startActivity(in); //postData(); } }); } tag_text.setTextSize(16); return view; }finally{ try{ request.close(); }catch(Exception e){} } 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.