一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种网络请求方法、系统及存储介质和终端设备与流程

2022-12-07 16:24:16 来源:中国专利 TAG:


1.本发明涉及信息处理技术领域,特别涉及一种网络请求方法、系统及存储介质和终端设备。


背景技术:

2.现有技术中,为了追求在线播放器更快的起播速度和防止域名劫持,在请求在线视频播放之前,通常会使用超文本传输协议(hypertext transfer protocol,http)域名系统(domain name system,dns)的技术把播放请求地址中的域名解析替换为网络协议(internet protocol,ip)地址。这样就省去了在线播放器内部对播放地址域名的解析工作,不但加快了视频的起播速度,而且还避免了域名劫持的问题。
3.随着https的普及,大多数网站、视频资源等的播放请求地址都从http变成了https,https可以提供对网站服务器的身份认证,同时保护交换数据的隐私与完整性,于是就普遍形成了https ip的网络请求机制。但是这种机制在实际的应用过程中,如果在服务器开启了“域名验证”的机制,往往会对播放请求地址的验证失败而导致播放请求失败。


技术实现要素:

4.本发明实施例提供一种网络请求方法、系统及存储介质和终端设备,使得在https ip的网络请求机制中可以实现域名验证。
5.本发明实施例一方面提供一种网络请求方法,包括:在网络请求界面显示资源请求控件,响应于对所述资源请求控件的操作,获取资源请求地址;确定所述资源请求地址中是否包括预置的服务器网络地址;若所述资源请求地址中包括所述服务器网络地址,获取所述服务器网络地址对应的域名信息;根据所述获取的域名信息及所述资源请求地址生成网络请求,将所述网络请求发送给相应服务器。
6.本发明实施例另一方面提供一种网络请求系统,包括:地址获取单元,用于在网络请求界面显示资源请求控件,响应于对所述资源请求控件的操作,获取资源请求地址;地址确定单元,用于确定所述资源请求地址中是否包括预置的服务器网络地址;域名获取单元,用于若所述资源请求地址中包括所述服务器网络地址,获取所述服务器网络地址对应的域名信息;请求单元,用于根据所述获取的域名信息及所述资源请求地址生成网络请求,将所述网络请求发送给相应服务器。
7.本发明实施例另一方面还提供一种计算机可读存储介质,所述计算机可读存储介质储存多个计算机程序,所述计算机程序适于由处理器加载并执行如本发明实施例一方面
提供的网络请求方法。
8.本发明实施例另一方面还提供一种终端设备,包括处理器和存储器;所述存储器用于储存多个计算机程序,所述计算机程序用于由处理器加载并执行如本发明实施例一方面提供的网络请求方法;所述处理器,用于实现所述多个计算机程序中的各个计算机程序。
9.可见,在本实施例的方法中,网络请求系统在进行网络请求的过程中,当对网络请求界面中的资源请求控件操作时,获取资源请求地址,若资源请求地址中包括预置的服务器网络地址,获取服务器网络地址对应的域名信息,然后根据获取的域名信息及资源请求地址生成网络请求,并发送该网络请求。这样,当服务器接收到网络请求后,若服务器中已开启了对域名进行验证的功能,则可以直接根据网络请求中的域名信息进行验证,从而匹配出对应的安全证书进行校验。
附图说明
10.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
11.图1是本发明实施例提供的一种网络请求方法的示意图;图2是本发明一个实施例提供的一种网络请求方法的流程图;图3是本发明一个应用实施例中提供的一种网络请求方法的流程图;图4是本发明另一应用实施例中网络请求方法所应用于的分布式系统的示意图;图5是本发明另一应用实施例中区块结构的示意图;图6是本发明实施例提供的一种网络请求系统的逻辑结构示意图;图7是本发明实施例提供的另一种终端设备的逻辑结构示意图。
具体实施方式
12.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
13.本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排它的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
14.本发明实施例提供一种网络请求方法,主要是针对视频、音频等资源的网络请求,参考图1所示,主要是在任意应用终端部署网络请求系统,通过网络请求系统执行如下的网
络请求流程:在网络请求界面显示资源请求控件,响应于对所述资源请求控件的操作,获取资源请求地址;确定所述资源请求地址中是否包括预置的服务器网络地址;若所述资源请求地址中包括所述服务器网络地址,获取所述服务器网络地址对应的域名信息;根据所述获取的域名信息及所述资源请求地址生成网络请求,将所述网络请求发送给相应服务器。
15.在实际的应用过程中,可以在但不限于如下任意的应用终端中部署网络请求系统:手机、电脑、智能交互设备、智能家电、车载终端等。
16.这样,当服务器接收到网络请求后,若服务器中已开启了对域名进行验证的功能,则可以直接根据网络请求中的域名信息进行验证,从而匹配出对应的安全证书进行校验。
17.本发明一个实施例提供一种网络请求方法,主要是由上述的网络请求系统所执行的方法,流程图如图2所示,包括:步骤101,在网络请求界面显示资源请求控件,响应于对资源请求控件的操作,获取资源请求地址。
18.可以理解,网络请求系统可以提供用户操作的接口,具体地,网络请求系统会显示网络请求界面,在网络请求界面上可以包括资源请求控件,这样用户可以操作资源请求控件,从而发起本实施例的网络请求流程。
19.在实际应用过程中,网络请求界面可以是网页,小程序的用户界面,或是应用程序界面等,这里不对网络请求界面的实际形式进行限定。而资源请求控件可以是资源请求地址输入框或是各项资源的链接按钮等,这样通过资源请求控件获取的资源请求地址可以是用户输入的地址,或是与链接按钮相关联的请求地址。
20.其中,在有些情况下,通过资源请求控件获取的资源请求地址中可以包括所请求的特定资源所属网络的域名信息,及待请求的特定资源的相关信息(名称或类型等信息)等,例如资源请求地址可以是统一资源定位符(uniform resource locator,url)等。在另一些情况下,通过资源请求控件获取的资源请求地址中可以包括所请求的特定资源所属服务器的网络地址,及待请求的特定资源的相关信息(名称或类型等信息)等。
21.步骤102,确定资源请求地址中是否包括预置的服务器网络地址,若资源请求地址中包括服务器网络地址,执行如下步骤103;若资源请求地址中不包括服务器网络地址,则直接根据该资源请求地址生成网络请求,并将网络请求发送给相应的服务器。
22.这里服务器网络地址为互联网上的每一个网络和每一台主机分配了一个逻辑地址,以此来屏蔽物理地址的差异。
23.例如,若上述步骤101中获取的资源请求地址为:https://192.534.123.56/xxx/xxx/xxx.mp4,在该资源请求地址中包括了预置的服务器网络地址192.534.123.56。若上述步骤101中获取的资源请求地址为:https://www.baidu.com/xxx/xxx/xxx.mp4,则在该资源请求地址中不包括预置的服务器网络地址。
24.步骤103,获取服务器网络地址对应的域名信息。
25.这里域名信息是由一串用点分隔的名字组成的网络中某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位。具体地,在网络请求系统中会事先设置服务器网络地址与域名信息之间的对应关系,这样当发起本实施例的网络请求流程时,可以直接根据上述获取的服务器网络地址在对应关系中进行查找即可得到服务器网络地址
对应的域名信息。
26.其中,在设置该对应关系时,具体地,可以使用avoptions机制,设置发起上述网络请求的执行函数中的域名变量包括域名信息,且设置执行函数中的网络地址变量包括服务器网络地址,然后将服务器网络地址和域名信息进行关联储存。其中,avoptions机制是ffmpeg中用来声明任意结构选项的通用机制,它提供了一种通用的方法,可以简便地对结构体成员变量进行赋值,而ffmpeg是一套提供了录制、转换以及流化音视频完整解决方案的开源计算机程序。
27.需要说明的是,上述网络请求界面可以包括多个链接按钮,而通过对每个链接按钮进行操作,可以发起相应的信息获取请求,比如视频获取请求、音频获取请求或另一网页获取请求等,这样网络请求系统会根据该信息获取请求获取并显示相应的信息。在本发明实施例中,针对获取特定类型资源(包括视频资源或音频资源)的链接按钮,网络请求系统可以事先获取网络请求界面中显示的特定类型资源分别对应的服务器网络地址和域名信息,并设置特定类型资源的服务器网络地址与域名信息之间的对应关系。
28.步骤104,根据获取的域名信息及资源请求地址生成网络请求,将网络请求发送给相应服务器。
29.具体地,可以将域名信息及资源请求地址都添加到网络请求中并发送该网络请求。例如,若上述步骤中针对资源请求地址https://192.534.123.56/xxx/xxx/xxx.mp4,获取的服务器网络地址为192.534.123.56,域名信息为www.baidu.com,则可以将https://192.534.123.56/xxx/xxx/xxx.mp4和www.polyv.com都添加到网络请求中并发送该网络请求。
30.可见,在本实施例的方法中,网络请求系统在进行网络请求的过程中,当对网络请求界面中的资源请求控件操作时,获取资源请求地址,若资源请求地址中包括预置的服务器网络地址,获取服务器网络地址对应的域名信息,然后根据获取的域名信息及资源请求地址生成网络请求,并发送该网络请求。这样,当服务器接收到网络请求后,若服务器中已开启了对域名进行验证的功能,则可以直接根据网络请求中的域名信息进行验证,从而匹配出对应的安全证书进行校验。
31.以下以一个具体的应用实例来说明本发明的网络请求方法,在本实施例中主要应用于对视频资源的请求场景中,将上述网络请求系统具体应用于应用终端的ffmpeg模块中,可以事先通过avoptions机制,设置ffmpeg模块中发起上述网络请求的执行函数中的域名变量ip_host和网络地址变量ip_addr,在域名变量中设置多个域名信息,在网络地址变量中设置多个服务器网络地址,且建立域名信息与服务器网络地址之间的关联关系。
32.这样,如图3所示,应用终端的ffmpeg模块可以通过如下步骤实现视频资源的请求过程:步骤201,用户可以通过操作应用终端,使得应用终端启动ffmpeg模块,ffmpeg模块显示网络请求界面,在网络请求界面包括多个资源请求控件,在本实施例中具体为视频链接按钮。
33.步骤202,当用户对某一视频链接按钮进行操作时,ffmpeg模块响应于对该视频链接按钮的操作,获取资源请求地址,具体为该视频资源的请求地址。
34.步骤203,判断该资源请求地址中是否包括预置的服务器网络地址,如果包括,则
执行步骤204;如果不包括,则直接根据该资源请求地址生成网络请求,并将网络请求发送给相应的服务器。
35.步骤204,ffmpeg模块获取该服务器网络地址对应的域名信息。
36.步骤205,ffmpeg模块根据获取的域名信息及资源请求地址生成网络请求,将网络请求发送给相应服务器。
37.具体地,ffmpeg模块会调用openssl的 ssl_set_tlsext_host_name函数以将获取的域名信息与资源请求地址进行绑定。其中,openssl是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份,广泛被应用在互联网的网页服务器上。而ssl_set_tlsext_host_name函数是一种设置域名的函数。
38.其中,sni是一个允许应用终端在发起网络请求时提交请求的域名信息的技术,sni的出现使得一个服务器可以为多个域名提供服务,当服务器使用单一网络地址提供多个域名的https服务时,本实施例中,当应用终端发起的网络请求中会携带域名信息,使得服务器能够切换到正确的域名并返回相应的证书。
39.这样,通过本实施例中对ffmpeg模块中相关的变量进行设置,不需要对原有模块的计算逻辑进行修改,对ffmpeg模块的侵入性较少,从而可以实现在https ip的网络请求机制中,可以支持服务器开启域名验证来保证请求的安全性。
40.以下以另一具体的应用实例来说明本发明中网络请求方法,本发明实施例中的网络请求系统主要为分布式系统100,该分布式系统可以包括客户端300及多个节点200(接入网络中的任意形式的计算设备,如服务器、用户终端),客户端300与节点200之间通过网络通信的形式连接。
41.以分布式系统为区块链系统为例,参见图4是本发明实施例提供的分布式系统100应用于区块链系统的一个可选的结构示意图,由多个节点200(接入网络中的任意形式的计算设备,如服务器、用户终端)和客户端300形成,节点之间形成组成的点对点(p2p,peer to peer)网络,p2p 协议是一个运行在传输控制协议(tcp,transmission control protocol )协议之上的应用层协议。在分布式系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。
42.参见图4示出的区块链系统中各节点的功能,涉及的功能包括:1)路由,节点具有的基本功能,用于支持节点之间的通信。
43.节点除具有路由功能外,还可以具有以下功能:2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其它节点,供其它节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
44.例如,应用实现的业务包括实现网络请求功能的代码,该网络请求功能主要包括:在网络请求界面显示资源请求控件,响应于对所述资源请求控件的操作,获取资源请求地址;确定所述资源请求地址中是否包括预置的服务器网络地址;若所述资源请求地址中包括所述服务器网络地址,获取所述服务器网络地址对应的域名信息;根据所述获取的域名信息及所述资源请求地址生成网络请求,将所述网络请求发送给相应服务器。
45.3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块 (block),新区
块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。
46.参见图5为本发明实施例提供的区块结构(block structure)一个可选的示意图,每个区块中包括本区块存储交易记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
47.本发明实施例还提供一种网络请求系统,其结构示意图如图6所示,具体可以包括:地址获取单元10,用于在网络请求界面显示资源请求控件,响应于对所述资源请求控件的操作,获取资源请求地址。
48.地址确定单元11,用于确定所述地址获取单元10获取的资源请求地址中是否包括预置的服务器网络地址。
49.域名获取单元12,用于若所述地址确定单元11确定资源请求地址中包括所述服务器网络地址,获取所述服务器网络地址对应的域名信息。
50.请求单元13,用于根据所述域名获取单元12获取的域名信息及所述资源请求地址生成网络请求,将所述网络请求发送给相应服务器。
51.该请求单元13,具体用于调用ssl_set_tlsext_host_name函数以将所述获取的域名信息资源请求地址进行绑定。
52.进一步地,本实施例中的网络请求系统还可以包括:设置单元14,用于在系统中设置服务器网络地址与域名信息之间的对应关系,具体地,设置发起所述网络请求的执行函数中的域名变量包括所述域名信息,设置所述执行函数中的网络地址变量包括所述服务器网络地址;将所述服务器网络地址和域名信息进行关联。这样,上述的域名获取单元12根据设置单元14设置的对应关系来获取域名信息。
53.该设置单元14,具体用于获取所述网络请求界面中显示的特定类型资源分别对应的服务器网络地址和域名信息;所述特定类型资源包括音频资源或视频资源;设置所述特定类型资源的服务器网络地址与域名信息之间的对应关系。
54.在本实施例的网络请求系统中,在进行网络请求的过程中,当对网络请求界面中的资源请求控件操作时,获取资源请求地址,若资源请求地址中包括预置的服务器网络地址,获取服务器网络地址对应的域名信息,然后根据获取的域名信息及资源请求地址生成网络请求,并发送该网络请求。这样,当服务器接收到网络请求后,若服务器中已开启了对域名进行验证的功能,则可以直接根据网络请求中的域名信息进行验证,从而匹配出对应的安全证书进行校验。
55.本发明实施例还提供一种终端设备,其结构示意图如图7所示,该终端设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,cpu)20(例如,一个或一个以上处理器)和存储器21,一个或一个以上存储应用程序221或数据222的存储介质22(例如一个或一个以上海量存储设备)。其中,存储器21和存储介质22可以是短暂存储或持久存储。存储在存储介质22的程序可以包括一个或
一个以上模块(图示没标出),每个模块可以包括对终端设备中的一系列指令操作。更进一步地,中央处理器20可以设置为与存储介质22通信,在终端设备上执行存储介质22中的一系列指令操作。
56.具体地,在存储介质22中储存的应用程序221包括网络请求的应用程序,且该程序可以包括上述网络请求系统中的地址获取单元10,地址确定单元11,域名获取单元12,请求单元13和设置单元14,在此不进行赘述。更进一步地,中央处理器20可以设置为与存储介质22通信,在终端设备上执行存储介质22中储存的网络请求的应用程序对应的一系列操作。
57.终端设备还可以包括一个或一个以上电源23,一个或一个以上有线或无线网络接口24,一个或一个以上输入输出接口25,和/或,一个或一个以上操作系统223,例如windows servertm,mac os xtm,unixtm, linuxtm,freebsdtm等等。
58.上述方法实施例中所述的由网络请求系统所执行的步骤可以基于该图7所示的终端设备的结构。
59.进一步地,本发明实施例另一方面还提供一种计算机可读存储介质,所述计算机可读存储介质储存多个计算机程序,所述计算机程序适于由处理器加载并执行如上述网络请求系统所执行的网络请求方法。
60.本发明实施例另一方面还提供一种终端设备,包括处理器和存储器;所述存储器用于储存多个计算机程序,所述计算机程序用于由处理器加载并执行如上述网络请求系统所执行的网络请求方法;所述处理器,用于实现所述多个计算机程序中的各个计算机程序。
61.另外,根据本技术的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的网络请求方法。
62.本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(rom)、随机存取存储器(ram)、磁盘或光盘等。
63.以上对本发明实施例所提供的一种网络请求方法、系统及存储介质和终端设备进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献