[发明专利]一种文件下载方法、装置、终端和存储介质有效
申请号: | 201810396790.8 | 申请日: | 2018-04-28 |
公开(公告)号: | CN108600378B | 公开(公告)日: | 2021-05-28 |
发明(设计)人: | 杨亮;张文明;陈少杰 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
地址: | 430070 湖北省武汉市武汉东湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 文件 下载 方法 装置 终端 存储 介质 | ||
1.一种文件下载方法,其特征在于,包括:
获取待下载文件对应的目标网址;
根据预设请求方法和所述目标网址生成目标请求报文,并向目标服务器发送所述目标请求报文;
根据预设请求方法和所述目标网址生成目标请求报文,并向目标服务器发送所述目标请求报文,包括:
根据所述目标网址中的目标域名地址,确定目标IP地址和目标端口;
根据所述目标网址中的目标域名地址,确定目标IP地址和目标端口,包括:
通过gethostbyname网络应用程序编程接口将所述目标域名地址作为参数传递至gethostbyname函数中,从而获取一个hostent结构数据,并根据该hostent结构中的h_addr_list字段,调用inet_ntoa获取h_addr_list[0],从而将h_addr_list[0]对应的IP地址确定为所述目标域名地址对应的所述目标IP地址;
基于所述目标IP地址和所述目标端口,利用套接字和读写服务对象连接目标服务器;
于连接所述目标服务器成功时,根据预设请求方法和所述目标网址生成目标请求报文,并向所述目标服务器发送所述目标请求报文;
根据接收的目标响应报文确定目标响应码,其中所述目标响应报文由所述目标服务器根据所述目标请求报文发送;
若所述目标响应码为转移响应码,则根据所述目标响应报文确定转移网址,并根据所述转移网址更新所述目标请求报文,向所述目标服务器发送更新后的目标请求报文;
根据接收的更新后的目标响应报文下载所述待下载文件。
2.根据权利要求1所述的方法,其特征在于,基于所述目标IP地址和所述目标端口,利用套接字和读写服务对象连接目标服务器,包括:
创建异步的读写服务对象;
创建异步的套接字,并将所述读写服务对象传入至所述套接字的构造函数中;
调用所述套接字的连接函数,并将所述目标IP地址和所述目标端口传入所述连接函数中;
根据第一回调函数中的参数信息确定所述目标服务器是否连接成功,其中,所述第一回调函数用于接收所述连接函数的连接结果。
3.根据权利要求1所述的方法,其特征在于,所述预设请求方法为GET方法;
相应的,根据预设请求方法和所述目标网址生成目标请求报文,并向所述目标服务器发送所述目标请求报文,包括:
根据所述目标网址,构造GET头部和主机头部;
根据所述GET头部和所述主机头部,确定目标请求报文头部;
根据所述套接字中的发送函数,向所述目标服务器发送所述目标请求报文头部。
4.根据权利要求1所述的方法,其特征在于,在向所述目标服务器发送所述目标请求报文之后,还包括:
调用所述套接字中的接收函数,并利用第二回调函数接收所述目标服务器发送的目标响应报文。
5.根据权利要求1所述的方法,其特征在于,根据接收的更新后的目标响应报文下载所述待下载文件,包括:
于磁盘的预设位置处,创建一个与所述转移网址中待下载文件名称相同的目标文件;
根据更新后的目标响应报文的头部中的长度字段信息确定所述待下载文件的目标大小信息;
调用所述套接字的接收函数和所述读写服务对象中的poll方法,并将所述目标大小信息传入所述接收函数中下载所述待下载文件的数据信息;
将下载后的数据信息写入至所述目标文件中。
6.根据权利要求1-5任一所述的方法,其特征在于,所述方法还包括:
若所述目标响应码为成功响应码,则直接根据所述目标响应报文下载所述待下载文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810396790.8/1.html,转载请声明来源钻瓜专利网。