zoukankan      html  css  js  c++  java
  • android app与服务器交互

    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 {
    
        //使用URL的Get 方式请求服务器
        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;
        }
    
        //使用URL的Post 方式请求服务器
        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;
        }
    
        //使用HttpClient的Get 方式请求服务器 (HttpClient 过时)
        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;
        }
    
        //使用HttpClient的Post 方式请求服务器 (HttpClient 过时)
        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;
        }
    
    }

    //将InputStream 转为 String

    package mydemo.mycom.demo2.utils;
    
    import java.io.ByteArrayOutputStream;
    import java.io.InputStream;
    
    public class StreamTools {
    
        //InputStream 转为 String
        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;
            }
    
        }
    
    }
  • 相关阅读:
    Intelligence System
    Hawk-and-Chicken
    The Stable Marriage Problem
    HDU 1173 采矿
    HDU 1018 Big Number 斯特林公式
    HDU 1005 Number Sequence
    ZOJ-3941 Kpop Music Party
    Codeforces 939 D Love Rescue
    Codefroces 939 C Convenient For Everybody
    Codeforces 935 C Fifa and Fafa
  • 原文地址:https://www.cnblogs.com/zoro-zero/p/4682085.html
Copyright © 2011-2022 走看看