• android HttpClient将数据提交到服务器


    1、HttpClient 使用方式

    public static String loginByClientGet(String username,String password)
        {
            try {
                
                //打开浏览器
                HttpClient client = new DefaultHttpClient();
                
                //输入地址(url)
                String url = "http://192.168.1.100:8088/Login.ashx?username="+username+"&password="+password;
                HttpGet httpGet = new HttpGet(url);
                
                //按回车(发请求http get请求)
                HttpResponse response = client.execute(httpGet);
                
                //得到相应码
                int code = response.getStatusLine().getStatusCode();
                
                if(code==200)
                {    
                    //得到相应实体
                    HttpEntity entity = response.getEntity();
                    //得到相应内容
                    InputStream is = entity.getContent();
                    return StreamUtil.readInputStream(is);
                }
                else
                {
                    return null;
                }
                
            } catch (Exception e) {
                e.printStackTrace();
                return null;
            }
        }
        
        
        public static String loginByClientPost(String username,String password)
        {
            
            try
            {
                //打开浏览器
                HttpClient client = new DefaultHttpClient();
            
                //输入地址(输入url) 
                String url = "http://192.168.1.100:8088/Login.ashx";
                //使用post请求
                HttpPost httpPost = new HttpPost(url);
                
                //输入指定提交的数据实体
                List<NameValuePair> params = new ArrayList<NameValuePair>();
                params.add(new BasicNameValuePair("username", username));
                params.add(new BasicNameValuePair("password", password));
                httpPost.setEntity(new UrlEncodedFormEntity(params));
                
                //得到相应
                HttpResponse response = client.execute(httpPost);
                
                //得到响应码
                int code = response.getStatusLine().getStatusCode();
                if(code==200)
                {
                    //得到相应内容
                    InputStream is = response.getEntity().getContent();
                    return StreamUtil.readInputStream(is);
                }
                else
                {
                    return null;
                }
            }
            catch(Exception ex)
            {
                ex.printStackTrace();
                return null;
            }
        }

    2、InputStream转为String方法

    package com.example.getserverdata.utils;
    
    import java.io.ByteArrayOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    
    public class StreamUtil {
        
        public static String readInputStream(InputStream is)
        {
            ByteArrayOutputStream baos = new ByteArrayOutputStream();  
            byte[] data = new byte[1024];  
            int len = 0;  
            try {
                while((len = is.read(data))!=-1)  
                    baos.write(data, 0, len);
                is.close();
                baos.close();
                return new String(baos.toByteArray());
                
            } catch (Exception e) {
            
                e.printStackTrace();
            }  
              
            return null;
        }
    }
  • 相关阅读:
    有nativeQuery = true和没有的区别
    itext隐藏table的单元格边框
    Semaphore (参考资料,还没细看)
    STL 一级/二级空间配置器
    内联函数
    死锁
    用户态和内核态
    关于变量的可见性和生命周期
    主从库原理
    xx亿数据处理
  • 原文地址:https://www.cnblogs.com/zoro-zero/p/3952355.html
Copyright © 2020-2023  润新知