公共wifi认证方法、装置、用户终端及存储介质与流程

文档序号:14923351发布日期:2018-07-13 07:06阅读:342来源:国知局

本发明涉及移动互联网领域,具体而言,涉及一种公共wifi认证方法、装置、用户终端及存储介质。



背景技术:

随着智能终端的普及和移动互联网的发展,人们对移动网络的依赖越来越大。除了平时上班工作,在公共场合对wifi的需求同样有增无减,随之而来的是公共wifi也慢慢走近人们的生活。而在实际应用过程中,除了少部分公共wifi连接上之后可以直接进行网络访问,大部分公共wifi的提供者都需要用户连接后先访问一个wifi的认证界面,进行用户信息认证之后,才能够进行后面正常的网络访问。

大部分公共wifi的认证方式都是在路由器的应用层协议,通过对正常http请求进行重定向,来跳转到认证界面。但是对于https请求,涉及安全握手,证书获取,以及内容加密的,所以在没有认证的公共wifi下面发起https请求无法走到正常的认证流程,则该https请求无法收到正确的响应,很可能会使页面一直处于白屏状态或者返回了错误信息,而现在随着https站点的越来越普及,这种问题也会越来越突出,从而导致用户体验极差。



技术实现要素:

有鉴于此,本发明实施例的目的在于提供一种公共wifi认证方法、装置、用户终端及存储介质,以改善上述问题。

第一方面,本发明实施例提供了一种公共wifi认证方法,所述方法包括:拦截在连接公共wifi状态下发送的https请求;构造与所述https请求对应的http请求;基于所述https请求以及所述http请求各自的目标地址,分别发送所述https请求及所述http请求;根据所述https请求及所述http请求各自的响应情况完成所述公共wifi的认证。

第二方面,本发明实施例提供了一种公共wifi认证装置,运行于用户终端,所述装置包括:拦截模块,用于拦截在连接公共wifi状态下发送的https请求;构造模块,用于构造与所述https请求对应的http请求;发送模块,用于基于所述https请求以及所述http请求各自的目标地址,分别发送所述https请求及所述http请求;认证模块,用于根据所述https请求及所述http请求各自的响应情况完成所述公共wifi的认证。

第三方面,本发明实施例提供了一种用户终端,所述用户终端包括处理器以及存储器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时所述用户终端执行以下操作:拦截在连接公共wifi状态下发送的https请求;构造与所述https请求对应的http请求;基于所述https请求以及所述http请求各自的目标地址,分别发送所述https请求及所述http请求;根据所述https请求及所述http请求各自的响应情况完成所述公共wifi的认证。

第四方面,本发明实施例提供了一种可读取存储介质,所述可读取存储介质存储于计算机内,所述可读取存储介质包括多条指令,所述多条指令被配置成使得计算机执行如上述的公共wifi认证方法。

本发明实施例提供一种公共wifi认证方法、装置、用户终端及存储介质,首先通过拦截在连接公共wifi状态下发送的https请求,然后构造与所述https请求对应的http请求,再基于所述https请求以及所述http请求各自的目标地址,分别发送所述https请求及所述http请求,根据所述https请求及所述http请求各自的响应情况完成所述公共wifi的认证,该方法可实现通过发起的https请求来驱动公共wifi认证流程,完成该公共wifi的认证,从而提高了用户体验。

本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明实施例提供的用户终端与服务器进行交互的示意图;

图2示出了一种可应用于本发明实施例中的用户终端的结构框图;

图3为本发明实施例提供的一种公共wifi认证方法的流程图;

图4为本发明实施例提供的一种公共wifi认证装置的结构框图。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

图1为本发明实施例提供的用户终端10与服务器20进行交互的示意图,所述服务器20通过网络30与一个或多个用户终端10进行通信连接,以进行数据通信或交互。所述服务器20可以是网络服务器、数据库服务器等。所述用户终端10可以是个人电脑(personalcomputer,pc)、平板电脑、智能手机、个人数字助理(personaldigitalassistant,pda)、可穿戴设备等终端。

图2示出了一种可应用于本发明实施例中的用户终端100的结构框图。如图2所示,用户终端100包括存储器101、存储控制器102,一个或多个(图中仅示出一个)处理器103、外设接口104、射频模块105、音频模块106、触控屏幕107等。这些组件通过一条或多条通讯总线/信号线108相互通讯。

存储器101可用于存储软件程序以及模块,如本发明实施例中的公共wifi认证方法以及装置对应的程序指令/模块,处理器103通过运行存储在存储器101内的软件程序以及模块,从而执行各种功能应用以及数据处理,如本发明实施例提供的公共wifi认证方法。

存储器101可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。处理器103以及其他可能的组件对存储器101的访问可在存储控制器102的控制下进行。

外设接口104将各种输入/输入装置耦合至处理器103以及存储器101。在一些实施例中,外设接口104,处理器103以及存储控制器102可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。

射频模块105用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯。

音频模块106向用户提供音频接口,其可包括一个或多个麦克风、一个或者多个扬声器以及音频电路。

触控屏幕107在用户终端100与用户之间同时提供一个输出及输入界面。具体地,触控屏幕107向用户显示视频输出,这些视频输出的内容可包括文字、图形、视频及其任意组合。

可以理解,图2所示的结构仅为示意,用户终端100还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。

于本发明实施例中,用户终端100中安装有客户端,该客户端可以是浏览器也可以是第三方应用软件,与服务器(server)端相对应,为用户提供服务,例如电子书阅读服务,用于播放本地文档或者电子书。

请参照图3,图3为本发明实施例提供的一种公共wifi认证方法的流程图,该方法应用于客户端,所述方法具体包括如下步骤:

步骤s110:拦截在连接公共wifi状态下发送的https请求。

作为一种方式,客户端在首次启动或者在网络状态发生变化时会首先判断当前连接的网络是否为公共wifi。

其中,网络状态可以理解为当前连接的网络为2g网、2.5g网、3g网、4g网和无线wifi中的一种,或者当前网络为无连接。

其中,客户端首次启动时会首先判断当前连接的网络是否为公共wifi,可以为移动终端在开机时直接检测当前连接的网络是否为公共wifi,或者移动终端在开机时客户端也相应启动,然后再检测当前连接的网络是否为公共wifi。

另外,公共wifi可以理解为建立无线连接时不需要密码认证的wifi,也就是公共wifi是指在进行认证时显示的认证界面中,用户不需要在认证界面中输入账号、或密码、或验证码等,而只需点击认证界面中的认证标识即可完成该公共wifi的认证,实现上网,或者不需要点击认证标识即可实现上网。例如,若在认证界面上的认证标识为“我要上网”按钮,用户点击该按钮即可完成该公共wifi的认证,实现上网,而用户不需要再额外输入验证码、或者或者账号、或者密码等来完成该公共wifi的认证。

因为用户在公共wifi状态下发起的https请求无法进行重定向,所以客户端在检测到是在公共wifi状态下发送了一个网络请求时,则客户端首先根据该网络请求的地址来判断是否对该网络请求进行拦截,若客户端向服务器发送的网络请求为https请求,则客户端提供一个拦截该https请求的接口对该https请求进行拦截,若网络请求为http请求时,因为http请求可以在没有认证的公共wifi下被重定向,跳转到认证界面,所以可以不对其进行拦截,而直接将该http请求发送出去。

需要说明的是,若在已经认证的公共wifi状态下发起的https请求,则可以事先对该公共wifi进行已认证标识,则对发送给该公共wifi的https请求可以不进行拦截直接发送出去,但是为了避免没有对公共wifi已经认证的情况进行标识,则需要将在公共wifi状态下发起的https请求都进行拦截,以进行下一步来判断该公共wifi是否已经进行认证。

步骤s120:构造与所述https请求对应的http请求。

在拦截所述https请求后,同时构建一个http请求,该http请求可以构建任意有效地址的http请求,也可以构建和https请求地址一样的http请求。

步骤s130:基于所述https请求以及所述http请求各自的目标地址,分别发送所述https请求及所述http请求。

作为一种方式,将拦截的所述https请求及构造的http请求分别标识为双请求,并为该https请求及http请求分配相同的双请求标识号,而且为了便于识别客户端获取到的响应为上述https请求和http请求对应的响应,则还可以为该https请求和http请求标识为同组请求,并分别分配一个同组标识号,然后基于https请求及http请求各自的目标地址,分别将标识后的所述https请求及所述http请求发送出去。

步骤s140:根据所述https请求及所述http请求各自的响应情况完成所述公共wifi的认证。

首先,客户端在获取到响应后,首先通过双请求标识号判断该响应是否是标识为双请求的http请求或者https请求,若该响应不是双请求对应的响应,则进行正常的网络处理流程,例如显示于该响应对应的网页等。

若判断该网络请求是双请求时,则判断该请求是否是上述同组请求返回的第一个请求对应的响应,对于所述响应为该同组请求返回的第一个请求对应的响应,则判断所述第一个请求对应的响应是否为http请求对应的响应;若不是上述同组请求返回的第一个请求对应的响应,则对该响应进行正常的网络处理流程,例如显示与该响应对应的网页等。

其中,若第一个请求对应的响应为所述https请求对应的响应,则表示该公共wifi已经认证成功,则继续走正常的网络处理流程,例如,显示对应的网页等,并且终止那个没有返回的http请求对应的响应。

若第一个请求对应的响应为所述http请求对应的响应,则判断该http请求对应的响应的响应码的类型,若返回的该http请求对应的响应的响应码是200,表示该http请求成功,说明公共wifi之前已经认证成功了,则终止对该http请求的响应的后续处理,例如,显示对应的网页等,然后再等待获取所述https请求对应的响应,若返回的该http请求对应的响应的响应码为302,则表示对该http请求进行了重定向,则首先终止当前在公共wifi状态下发送的https请求,将该https请求的目标地址缓存到该http请求的目标地址中,然后通过客户端的webview来加载这个新的地址,并且webview再处理公共wifi路由器重定向请求,跳转到了认证界面,则用户可以在认证界面进行公共wifi的认证。

另外,需要特别说明的是,若上述构造的http请求为无效请求时,也就是,该http请求对应的服务器在收到上述构造的http请求在公共wifi未完成认证的情况下时无法返回响应码为302的响应,或者在公共wifi已经认证的情况下无法返回响应码为200的响应,所以,基于上述原因,本发明实施例中构造的http请求为有效请求,也就是,该http请求对应的服务器收到该http请求之后在公共wifi已经认证成功的情况下可以默认返回响应码为200的响应,或者在公共wifi未认证的情况下可以默认返回响应码为302的响应。

请参照图4,图4为本发明实施例提供的一种公共wifi认证装置200的结构框图,该装置运行于客户端,所述装置包括拦截模块210、构造模块220、发送模块230及认证模块240。

拦截模块210,用于拦截在连接公共wifi状态下发送的https请求。

构造模块220,用于构造与所述https请求对应的http请求。

发送模块230,用于基于所述https请求以及所述http请求各自的目标地址,分别发送所述https请求及所述http请求。

认证模块240,用于根据所述https请求及所述http请求各自的响应情况完成所述公共wifi的认证。

作为一种方式,所述装置还包括网络判断模块,网络判断模块,用于在首次启动或在网络状态发生变化时判断当前连接的wifi是否为公共wifi。

作为一种方式,所述发送模块230包括双请求标识子模块及双请求发送子模块。

双请求标识子模块,用于将拦截的所述https请求及构造的http请求分别标识为双请求。

双请求发送子模块,用于基于标识后的https请求及http请求各自的目标地址,分别发送所述https请求及所述http请求。

作为一种方式,所述双请求标识子模块包括:第一标识子模块、第二标识子模块及同组请求标识子模块。

第一标识子模块,用于将拦截的所述https请求标识为双请求,并为所述https请求分配双请求标识号。

第二标识子模块,用于将所述http请求标识为双请求,并为所述http请求分配所述双请求标识号。

同组请求标识子模块,用于将所述标识为双请求的https请求和http请求标识为同组请求,并为所述https请求及所述http请求分配同组标识号。

作为一种方式,所述认证模块240包括:第一响应判断子模块、第二响应判断子模块、响应码判断子模块及认证子模块。

第一响应判断子模块,用于判断获取的响应是否为所述同组请求返回的第一个响应。

第二响应判断子模块,用于若获取的响应为所述同组请求返回的第一个响应,则判断所述第一个响应是否为http请求对应的响应。

响应码判断子模块,用于若所述第一个响应为所述http请求对应的响应,则判断所述http请求对应的响应的响应码的类型。

认证子模块,用于若所述http请求对应的响应的响应码的类型为重定向的响应码,则终止所述https请求的响应,根据重定向的内容完成所述公共wifi的认证。

作为一种方式,所述认证模块240还包括:获取响应子模块,用于若所述http请求对应的响应的响应码的类型为请求成功的响应码,则终止对所述http请求对应的响应的处理,获取所述https请求对应的响应。

作为一种方式,所述认证模块240还包括:终止响应子模块,用于若所述第一个响应为所述https请求对应的响应,则终止所述http请求的响应。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。

综上所述,本发明实施例提供一种公共wifi认证方法、装置、用户终端及存储介质,首先通过拦截在连接公共wifi状态下发送的https请求,然后构造与所述https请求对应的http请求,再基于所述https请求以及所述http请求各自的目标地址,分别发送所述https请求及所述http请求,根据所述https请求及所述http请求各自的响应情况完成所述公共wifi的认证。该方法可实现通过发起的https请求来驱动公共wifi认证流程,完成该公共wifi的认证,从而提高了用户体验。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1