【幻化万千戏红尘】qianfengDay27-HttpURLConnection,OkHttpClient,,多线程下载且断点续传基础学习:
课程回顾:
Servlet:java语言开发的运行在服务器上的
开发步骤:
1、创建Servlet类
2、重写doGet或doPost方法
3、运行在服务器
生命周期:
1、初始化
2、服务
3、销毁
URL:统一资源定位符,网址
openConnection
今日内容:
Http协议:超文本传输协议
常用方式:
1、HttpURLConnection
2、okHttp
HttpURLConnection的使用步骤:
1、创建URL对象---URL url=new URL("网址");
2、获取连接对象--HttpURLConnection huc=(HttpURLConnection)url.openConnection
3、设置信息---huc.setXXX
4、连接------huc.connect
5、验证状态响应码----huc.getResponseCode
6、获取服务器响应内容----huc.getInputStream
7、关闭-----disconnect
状态响应码:服务器的信息的响应状态码
1开头:消息
2开头:成功 200:OK,206:部分响应成功
3开头:重定向
4开头:请求错误 404:找不到页面
5开头:服务器错误 500:服务器程序崩溃
URL类:统一资源定位符
练习:
http://10.16.153.63:8080/Day26/PageStudentServlet
请使用HttpURLConnection进行数据的获取
需要参数:
pageIndex:当前页数
count:数量
1)、将数据显示
2)、将数据保存当前项目下的文件中
HTTP协议常用:
1、获取字符串
2、获取资源(图片、音频、压缩包等)
3、POST传递参数
okHttp:目前比较火的网络框架
使用步骤:
1、创建客户端对象---OkHttpClient client=new OkHttpClient()
2、创建请求对象-----Request request=new Request.Builder().url("网址").build()
3、创建响应对象-----Response response=client.newCall(request).execute();
4、验证是否成功----response.isSuccessful
5、获取服务器响应信息----response.body.XXX
常用:
bytes:获取内容对应的字节数组
string:获取内容对应的字符串
byteStream:获取内容对应的字节数组
charStream:获取内容对应的字符数组
contentLength:内容的字节个数
练习:
写一个接口,要求参数为学号(8位)
get请求,返回随机生成的手机号 13XXXX-18XXXX 11位
post请求,返回3-10位的英文字母,作为英文名
要求客户端,发起GET和POST请求
要求使用HttpURLConnection(GET)和OkHttp(POST)实现
http://10.16.153.63:8080/Day27_Server/WeatherCityNo.txt
多线程下载且断点续传
整体思路:
分配
固定线程个数
还是固定块的大小