HttpURLConnection 请求网络 || HttpUtils 请求网络

String get_path = "请求网址";
        Handler handler = new Handler() {
            public void handleMessage(android.os.Message msg) {
                MyBean mybean = (MyBean) msg.obj;
            };
        };
        new Thread() {
            public void run() {

try {
                    // 得到URL对象,设置要访问的路径
                    URL url = new URL(get_path);
                    // 得到联网操作类,HttpURLConnection
                    HttpURLConnection openConnection = (HttpURLConnection) url
                            .openConnection();
                    // 设置连接超时,以毫秒为单位
                    openConnection.setConnectTimeout(5000);
                    // 设置请求方式,有GET和POST
                    openConnection.setRequestMethod("GET");
                    // 设置读取超时,以毫秒为单位
                    openConnection.setReadTimeout(5000);
                    // 开始连接
                    openConnection.connect();
                    // 通过响应码判断是否连接成功
                    if (openConnection.getResponseCode() == 200) {
                        // 得到服务器返回的数据,是以流的形式返回的
                        InputStream inputStream = openConnection
                                .getInputStream();
                        BufferedReader bufferedReader = new BufferedReader(
                                new InputStreamReader(inputStream));
                        // 接受流里面的数据
                        String readData;
                        // 拼接流里的数据,保证数据是完整的
                        StringBuilder builder = new StringBuilder();
                        // 使用while循环,读取流里的数据,当流里的数据被读取完毕的时候跳出循环
                        while ((readData = bufferedReader.readLine()) != null) {
                            builder.append(readData);
                        }
                        String stringData = builder.toString();
                        Gson gson = new Gson();
                        MyBean mybean = gson.fromJson(stringData, MyBean.class);
                        // 由于android子线程不能更新UI,所以要发送数据到主线程处理
                        Message message = Message.obtain();
                        message.obj = mybean;
                        handler.sendMessage(message);
                    }
                } catch (MalformedURLException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }

};
        }.start();

******************************************************************************************************************

HttpUtils httpUtils = new HttpUtils();
        httpUtils.send(HttpMethod.POST, "", params,
                new RequestCallBack<String>() {
                    @Override
                    public void onFailure(HttpException arg0, String arg1) {
                        // TODO Auto-generated method stub
                    }
                    @Override
                    public void onSuccess(ResponseInfo<String> arg0) {
                        // TODO Auto-generated method stub
                        String string = arg0.result;                
                    }
                });

时间: 2024-08-06 19:50:33

HttpURLConnection 请求网络 || HttpUtils 请求网络的相关文章

android网络编程之HttpUrlConnection的讲解--GET请求

1.服务器后台使用Servlet开发,这里不再介绍. 2.网络开发不要忘记在配置文件中添加访问网络的权限 <uses-permission android:name="android.permission.INTERNET"/> 3.网络请求.处理不能在主线程中进行,一定要在子线程中进行.因为网络请求一般有1~3秒左右的延时,在主线程中进行造成主线程的停顿,对用户体验来说是致命的.(主线程应该只进行UI绘制,像网络请求.资源下载.各种耗时操作都应该放到子线程中). 4. p

Android——网络 GET请求+POST请求

Android--网络  GET请求+POST请求 获取数据用GET请求   ?? 增删改查修改数据用POST请求 package com.example.jreduch07; import android.os.AsyncTask; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; i

java网络URL请求编程入门

对于使用URL类请求网络服务器并接受请求进行简单处理的示例,记录下学习过程. GET请求 代码示例如下 package testHttpGet; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStream

iOS中网络请求的使用(GET请求与POST请求)

GET&POST GET和POST是两种最常用的与服务器进行交互的HTTP方法 GET 语意是获取指定URL的资源. 将数据按照variable=value的形式,添加到action所指向的URL后面,并且两者只用“?”连接,各变量之间使用“&”连接. 貌似不安全,因为在传输过程中,数据被放在请求的URL中. 传输的数据量小,这主要是因为受URL长度限制. POST POST的语意说向指定URL的资源添加数据. 将数据放在数据体中,按照变量和值相对应的方式,传递到action所指向URL.

网络请求数据 get请求方式 &nbsp; post请求 协议异步连接服务器 block异步连接服务器

网络请求三部 创建一个请求(添加接口,对接口进行解码,) 设定请求方式(将接口转为NSURL,设置请求[请求地址, 缓存策略, 超时时间],设置请求方式) 连接服务器([同步连接,异步连接]代理连接,block连接) #import "MainViewController.h" @interface MainViewController () @property (retain, nonatomic) IBOutlet UIImageView *ImageWiew; //get请求方法

常见从网络上请求数据流程

GET请求与POST请求区别 1.GET请求的接口会包含参数部分,参数会作为网址的一部分,服务器地址与参数之间通过?来间隔.POST请求会将服务器地址与参数分开,请求接口中只有服务器地址,而参数会作为请求体的一部分,提交给后台服务器 2.GET请求参数会出现在接口中,不安全,而POST请求相对安全 3.虽然GET请求与POST请求都可以用来请求与提交数据,POST多用于向后台提交数据,GET多用于从后台请求数据 4.同步与异步的区别: 同步连接:主线程去请求数据,当数据请求完毕之前,其它操作一律

网络数据请求-封装思想总结

1.  网络数据请求-封装请求 调用的开发者  1.创建这个网络对象(httpRequest) 2.在该ViewController类里遵循协议 3.实现协议中的方法 封装的开发者  1.根据NSURLConnection异步的方法进行封装, 创建url对象,保留delegate 最后发送异步请求  2.让封装的类遵循协议(NSURLConnectionDataDelegate)  3.让封装的类(QDLHttpRequest)去实现该协议中的方法(4个)

iOS开发网络多线程之网络请求文件解析

一.网络请求 1. get请求 1> 确定URL 2> 创建请求 3> 发送连接请求(网络请求用异步函数) - (void)get {    // 1.url    NSURL *url = [NSURL URLWithString:@"http://120.25.226.186:32812/login?username=520it&pwd=520it&type=JSON"];        // 2.请求    NSURLRequest *reque

iOS网络——NSURLCache设置网络请求缓存

今天在看HTTP协议,看到了response头中的cache-control,于是就深入的研究了一下.发现了iOS中一个一直被我忽略的类——NSURLCache类. NSURLCache NSURLCache用于缓存网络请求,也就是NSURLRequest,然后根据我们设置的NSURLCache策略进行相应的缓存. 首先介绍一下各种策略 策略 意义 UseProtocolCachePolicy  默认行为  ReloadIgnoringLocalCacheData  不使用缓存  ReloadI