一句话切换UrlConnection 和okHttp 网络请求的底层实现
演示Okhttp转UrlConnect
从Request中获取https的ssl证书对象和服务器主机认证规则,并将ssl证书对象和主机认证规则对象设置给http的请求连接
设置https请求的证书和服务器主机认证规则方法
HTTPListener 接口的方法,成功、失败方法
在网络请求的响应类中,同样持有一份请求时的对象
在请求的任务类中同样要只有网络响应的回调,并将该回调注入到Message信使类中
Message信使类中持有网络响应回调
Message 信使类实现Runnable接口,在run()方法中将信息回传给主线程
使用Handler的post方法将Message对象发送到主线程中去执行
响应类代码演示
将请求对象注入到任务对象中,然后在线程池中执行请求任务
请求任务类代码示例(Runnable子类,网络请求在子线程中执行):
通过构造方法将请求对象注入到请求任务中
请求的封装类代码演示
请求参数类的定义
通过枚举的方式声明请求类型:
public enum RequestMethod{
GET("GET"), POST("POST"),DELETE("DELETE");
privete String value;
RequestMethod(String v){ this.value = v;}
@Override public String toString(){ return this.value;}
}
使用枚举的方式创建全局的单例类
使用主线程Looper初始化Handler:
Handler mHandler = new Handler(Looper.getMainLooper());
Get类型请求,不能从请求的连接中获取到输出流,即getOutputStream()
在请求头中设置ContentType 声明发送的请求数据的类型
Post请求连接后,可以从连接中拿到输出流,将要送的数据已二进制数据流的方式将数据不断写到输出流中,发送给服务端
线程池创建
常用框架介绍
测试接口地址
post请求数据到Server
POST类型请求方法
GET\HEAD请求
单例Handler