android – http post方法将空值传递给服务器

前端之家收集整理的这篇文章主要介绍了android – http post方法将空值传递给服务器前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

         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;

}   

嗨,我是Android的新手,我试图将值从url传递到服务器,但我得到在服务器端传递的空值.更新响应为空.我的服务器端值不给我任何值.我需要从上面给出的url传递url,android_id和device.我也尝试了httpclient,但它也给了我null值.

最佳答案
你应该尝试下面的代码,它运行得很好.

   // ADD YOUR REQUEST DATA HERE  (you can pass number of variable).
    ArrayList

现在建立你的网络连接

(1)将简单字符串发送到服务器

    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)将JSON编码字符串发送到服务器

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");
}

两种情况下的反应都相同

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());
    }

现在最终结果包含整个输出字符串,现在它取决于您将如何读取数据.使用json或者其他.我正在使用json,所以把它的示例代码可能对你有所帮助.

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");

现在它结束了你有两个变量,它有任何价值,并使用任何.

现在这对你有帮助.如果您有任何疑问,请告诉我.

猜你在找的Android相关文章