/**
         * 用 HttpClient 的 Get 请求访问服务器
         *
         * @param url_path
         * @param userName
         * @param userPass
         * @return
         */
        private String HttpClientGetMeth(String url_path, String userName,
                String userPass) {
            String result = "";

try {
                url_path = url_path + "?username="
                        + URLEncoder.encode(userName, "utf-8") + "&userpass="
                        + URLEncoder.encode(userPass, "utf-8");

HttpGet get = new HttpGet(url_path);
                HttpParams params = new BasicHttpParams();
                HttpConnectionParams.setConnectionTimeout(params, 5 * 1000);
                HttpConnectionParams.setSoTimeout(params, 5 * 1000);

HttpClient httpClient = new DefaultHttpClient(params);
                HttpResponse response = httpClient.execute(get);

if (response.getStatusLine().getStatusCode() == 200) {
                    HttpEntity resEntity = response.getEntity();
                    result = EntityUtils.toString(resEntity, "utf-8");
                }
            } catch (ClientProtocolException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return result;
        }

/**
         * 用 HttpClient 的 Post 请求访问服务器
         *
         * @param url_path
         * @param userName
         * @param userPass
         * @return
         */
        private String HttpClientPostMeth(String url_path, String userName,
                String userPass) {
            String result = "";

HttpPost post = new HttpPost(url_path);
            HttpParams params = new BasicHttpParams();
            HttpConnectionParams.setConnectionTimeout(params, 5 * 1000);
            HttpConnectionParams.setSoTimeout(params, 5 * 1000);

List<NameValuePair> pair = new ArrayList<NameValuePair>();
            pair.add(new BasicNameValuePair("username", userName));
            pair.add(new BasicNameValuePair("userpass", userPass));

try {
                HttpEntity entity = new UrlEncodedFormEntity(pair, "utf-8");
                post.setEntity(entity);

HttpClient httpClient = new DefaultHttpClient(params);
                HttpResponse response = httpClient.execute(post);

if (response.getStatusLine().getStatusCode() == 200) {
                    HttpEntity resEntity = response.getEntity();
                    result = EntityUtils.toString(resEntity, "utf-8");
                }

} catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            } catch (ClientProtocolException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }

return result;
        }

/**
         * 用 HttpURLConnection 的 Post 请求访问服务器
         *
         * @param url_path
         * @param userName
         * @param userPass
         * @return
         */
        private String URLConnectionPosttMeth(String url_path, String userName,
                String userPass) {
            String result = "";
            // ?username=admin&userpass=123456
            try {
                URL url = new URL(url_path);
                HttpURLConnection conn = (HttpURLConnection) url
                        .openConnection();
                conn.setConnectTimeout(5 * 1000);
                conn.setReadTimeout(5 * 1000);

conn.setRequestMethod("POST");// 设置请求方式为 Post 方式
                conn.setDoInput(true);// 设置是否可以读取
                conn.setDoOutput(true);// 设置是否可以写入

DataOutputStream dos = new DataOutputStream(
                        conn.getOutputStream());
                // 把中文进行utf-8编码,服务器通过request.setCharacterEncoding("utf-8");解码
                String params = "username="
                        + URLEncoder.encode(userName, "utf-8") + "&userpass="
                        + URLEncoder.encode(userPass, "utf-8");

dos.write(params.getBytes());
                dos.flush();
                dos.close();

if (conn.getResponseCode() == 200) {
                    InputStream is = conn.getInputStream();// 获得输入流对象读取服务器响应结果

// 服务器需要通过response.setCharacterEncoding("utf-8");//设置服务器响应编码为中文编码,为了解决android端接收的数据能不乱码
                    // 因为有中文乱码,需要转码,通过把字节流转换为缓存字符流,同时设置编码,实现转码
                    InputStreamReader reader = new InputStreamReader(is,
                            "utf-8");

char[] buf = new char[1024];
                    reader.read(buf);
                    // Log.i("Bright", buf.length + "------post------");
                    result = new String(buf, 0, buf.length);
                }
            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (ProtocolException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return result;
        }

/**
         * 用 HttpURLConnection 的 Get 请求访问服务器
         *
         * @param url_path
         * @param userName
         * @param userPass
         * @return
         */
        private String URLConnectionGetMeth(String url_path, String userName,
                String userPass) {
            String result = "";
            // ?username=admin&userpass=123456
            try {
                // 把中文进行utf-8编码,服务器通过request.setCharacterEncoding("utf-8");解码
                url_path = url_path + "?username="
                        + URLEncoder.encode(userName, "utf-8") + "&userpass="
                        + URLEncoder.encode(userPass, "utf-8");

URL url = new URL(url_path);
                HttpURLConnection conn = (HttpURLConnection) url
                        .openConnection();
                conn.setConnectTimeout(5 * 1000);
                conn.setReadTimeout(5 * 1000);
                if (conn.getResponseCode() == 200) {
                    InputStream is = conn.getInputStream();

// 服务器需要通过response.setCharacterEncoding("utf-8");//设置服务器编码为中文编码,为了解决android端接收的数据能不乱码
                    // 因为有中文乱码,需要转码,通过把字节流转换为缓存字符流,同时设置编码,实现转码
                    InputStreamReader reader = new InputStreamReader(is,
                            "utf-8");

char[] buf = new char[1024];
                    reader.read(buf);
                    // Log.i("Bright", buf.length + "------get------");
                    result = new String(buf, 0, buf.length);
                }
            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return result.trim();
        }

http 网络请求的更多相关文章

  1. Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求

    上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...

  2. Android之三种网络请求解析数据(最佳案例)

    AsyncTask解析数据 AsyncTask主要用来更新UI线程,比较耗时的操作可以在AsyncTask中使用. AsyncTask是个抽象类,使用时需要继承这个类,然后调用execute()方法. ...

  3. IOS开发之—— 在AFN基础上进行的网络请求的封装

    网络请求的思路:如果请求成功的话AFN的responseObject就是解析好的. 1发送网络请求:get/post/或者别的 带上URL,需要传的参数 2判断后台网络状态码有没有请求成功: 3 请求 ...

  4. Android,适合Restful网络请求封装

    借助volley.Gson类库. 优点 网络请求集中处理,返回值直接为预期的对象,不需要手动反序列,提高效率,使用时建立好model类即可. 使用效果 DataProess.Request(true, ...

  5. Android okHttp网络请求之Json解析

    前言: 前面两篇文章介绍了基于okHttp的post.get请求,以及文件的上传下载,今天主要介绍一下如何和Json解析一起使用?如何才能提高开发效率? okHttp相关文章地址: Android o ...

  6. 阶段一:通过网络请求,获得并解析JSON数据(天气应用)

    “阶段一”是指我第一次系统地学习Android开发.这主要是对我的学习过程作个记录. 在上一篇阶段一:解析JSON中提到,最近在写一个很简单的天气预报应用.即使功能很简单,但我还是想把它做成一个相对完 ...

  7. NSURLSession网络请求

    个人感觉在网上很难找到很简单的网络请求.或许是我才疏学浅 ,  所有就有了下面这一段 , 虽然都是代码 , 但是全有注释 . //1/获取文件访问路径 NSString *path=@"ht ...

  8. 【Swift】Alamofile网络请求数据更新TableView的坑

    写这篇BLOG前,有些话不得不提一下,就仅当发发恼骚吧... 今天下午为了一个Alamofire取得数据而更新TableView的问题,查了一下午的百度(360也是见鬼的一样),竟然没有一个简单明了的 ...

  9. 【WP8.1】HttpClient网络请求、进度以及终止

    工作这么长时间,起初还是喜欢用面向程序过程的思路去写代码. 慢慢的才会用面向对象的思路分析.解决问题.也算是一点点进步吧. 最近在做一个下载音乐的功能.用到了HttpClient类. 于是就简单的写了 ...

  10. ios htttp网络请求cookie的读取与写入(NSHTTPCookieStorage)

    当你访问一个网站时,NSURLRequest都会帮你主动记录下来你访问的站点设置的Cookie,如果 Cookie 存在的话,会把这些信息放在 NSHTTPCookieStorage 容器中共享,当你 ...

随机推荐

  1. AJAX-----07XMLHttpRequest对象的处理返回的JSON类型数据

    要玩json首先就需要知道一般都数据是怎么处理的: <!DOCTYPE html> <html lang="en"> <head> <me ...

  2. Java中内存中的Heap、Stack与程序运行的关系

    堆和栈的内存管理 栈的内存管理是顺序分配的,而且定长,不存在内存回收问题:而堆 则是随机分配内存,不定长度,存在内存分配和回收的问题:堆内存和栈内存的区别可以用如下的比喻来看出:使用堆内存就象是自己动 ...

  3. wex5 实战 二维码生成,扫描,蓝牙打印

    给人设计了一个小模块,要求是,把一个单号生成二维码,实现扫描查询单号具体信息,并能通过蓝牙把二维码打印出来.功能实现并不复杂,今天一口气把它搞定.来看效果. 一   效果演示: 二.二维码生成 1 在 ...

  4. jQuery : eq() vs get()

    .get(index) and .eq(index) both return a single "element" from a jQuery object array, but ...

  5. objective C 学习之02

    1. 函数 -(void) HelloWorld:(BOOL)ishelloworld{ //干点啥 } 前面带有减号(-) 的方法为实例方法,必须使用类的实例才可以调用的.对应的有+号, 代表是类的 ...

  6. android获取状态栏高度

    获取android屏幕上状态栏的高度方法网上很多这里不再敖述,只举一个例子 Rect rect = new Rect();getWindow().getDecorView().getWindowVis ...

  7. Java 基础知识 问答

    1,Java为什么能跨平台运行?请简述原理. 因为Java程序编译之后的代码不是能被硬件系统直接运行的代码,而是一种“中间码”——字节码.然后不同的硬件平台上安装有不同的Java虚拟机(JVM),由J ...

  8. WebForm带有图片的验证码

    验证码形成的部分在一个aspx文件中: 页面设置 <%@ Page Language="C#" AutoEventWireup="true" CodeFi ...

  9. [问题2015S01] 复旦高等代数 II(14级)每周一题(第二教学周)

    [问题2015S01]  设 \(M_n(\mathbb{R})\) 是 \(n\) 阶实方阵全体构成的实线性空间, \(\varphi\) 是 \(M_n(\mathbb{R})\) 上的线性变换, ...

  10. 史上最"恐怖"的12生肖图,绝对超猛

    史上最“恐怖”的十二生肖图,绝对超猛!图片依次是:鼠 牛 虎 兔 龙 蛇 马 羊 猴 鸡 狗 猪!