zoukankan      html  css  js  c++  java
  • android get或post及HttpClient与服务器数据交互

    1、Service

    package mydemo.mycom.demo2.service;
    
    import org.apache.http.HttpResponse;
    import org.apache.http.NameValuePair;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.entity.UrlEncodedFormEntity;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.message.BasicNameValuePair;
    
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.util.ArrayList;
    import java.util.List;
    
    import mydemo.mycom.demo2.utils.StreamTools;
    
    /**
     * Created by Administrator on 2015/5/20.
     */
    public class NetService {
    
        public static String loginByGet(String username, String password) {
            try {
                String path = "http://192.168.1.110:1010/UserInfo/Login?username=" + username + "&password=" + password;
                URL url = new URL(path);
                HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                conn.setConnectTimeout(5000);
                conn.setRequestMethod("GET");
                int code = conn.getResponseCode();
                if (code == 200) {
                    //请求成功
                    InputStream is = conn.getInputStream();
                    String result = StreamTools.readInputStream(is);
                    return result;
                } else {
                    //请求失败
                    return null;
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }
    
        public static String loginByPost(String username, String password) {
            try {
                String path = "http://192.168.1.110:1010/UserInfo/Login";
                URL url = new URL(path);
                HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                conn.setConnectTimeout(5000);
                conn.setRequestMethod("POST");
                String data = "username=" + username + "&password=" + password;
    
                conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
                conn.setRequestProperty("Content-Length", data.length() + "");
    
                //post 的方式 实际上是浏览器把数据 写给了服务器
                conn.setDoInput(true);
                OutputStream os = conn.getOutputStream();
                os.write(data.getBytes());
                int code = conn.getResponseCode();
                if (code == 200) {
                    //请求成功
                    InputStream is = conn.getInputStream();
                    String result = StreamTools.readInputStream(is);
                    return result;
                } else {
                    //请求失败
                    return null;
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }
    
        public static String loginByClientGet(String username, String password) {
            try {
                HttpClient client = new DefaultHttpClient();
                String path = "http://192.168.1.110:1010/UserInfo/Login?username=" + username + "&password=" + password;
                HttpGet httpget = new HttpGet(path);
                HttpResponse response = client.execute(httpget);
                int code = response.getStatusLine().getStatusCode();
                if (code == 200) {
                    //请求成功
                    InputStream is = response.getEntity().getContent();
                    String result = StreamTools.readInputStream(is);
                    return result;
                } else {
                    //请求失败
                    return null;
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }
    
        public static String loginByClientPost(String username, String password) {
            try {
                HttpClient client = new DefaultHttpClient();
                String path = "http://192.168.1.110:1010/UserInfo/Login";
                HttpPost httppost = new HttpPost(path);
                //指定要提交的数据实体
                List<NameValuePair> list = new ArrayList<NameValuePair>();
                list.add(new BasicNameValuePair("username", username));
                list.add(new BasicNameValuePair("password", password));
                httppost.setEntity(new UrlEncodedFormEntity(list, "UTF_8"));
                HttpResponse response = client.execute(httppost);
                int code = response.getStatusLine().getStatusCode();
                if (code == 200) {
                    //请求成功
                    InputStream is = response.getEntity().getContent();
                    String result = StreamTools.readInputStream(is);
                    return result;
                } else {
                    //请求失败
                    return null;
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }
    
    }

    2.StreamTools

    package mydemo.mycom.demo2.utils;
    
    import java.io.ByteArrayOutputStream;
    import java.io.InputStream;
    
    public class StreamTools {
        public static String readInputStream(InputStream is)
        {
            try
            {
                ByteArrayOutputStream baos = new ByteArrayOutputStream();
                int len =0;
                byte[] buffer = new byte[1024];
                while((len=is.read(buffer))!=-1)
                {
                    baos.write(buffer,0,len);
                }
                is.close();
                baos.close();
    
                byte[] result = baos.toByteArray();
                String temp = new String(result);
                return temp;
            }catch (Exception e)
            {
                e.printStackTrace();
                return null;
            }
    
        }
    
    }
  • 相关阅读:
    #特征方程,dp,快速幂#洛谷 4451 [国家集训队]整数的lqp拆分
    #状压dp,贪心#CF1316E Team Building
    #线段树,欧拉函数#CF1114F Please, another Queries on Array?
    #启发式合并,链表#洛谷 3201 [HNOI2009] 梦幻布丁
    #树状数组#洛谷 4113 [HEOI2012]采花
    #链表#洛谷 3794 签到题IV
    #矩阵乘法,斐波那契#洛谷 2544 [AHOI2004] 数字迷阵
    #dp#洛谷 4399 [JSOI2008]Blue Mary的职员分配
    #同余最短路#洛谷 3403 跳楼机
    #网络流,分层图#洛谷 4400 [JSOI2008] Blue Mary的旅行
  • 原文地址:https://www.cnblogs.com/zoro-zero/p/4516842.html
Copyright © 2011-2022 走看看