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

一种基于iOS系统的cookie管理方法及设备与流程

2022-04-06 19:25:02 来源:中国专利 TAG:

一种基于ios系统的cookie管理方法及设备
技术领域
1.本发明属于浏览器信息管理领域,尤其涉及一种基于ios系统的cookie管理方法及设备。


背景技术:

2.现有的web应用多使用http协议传输数据,http协议是一种无状态协议,数据交换完成时客户端与服务器的连接会关闭,再次访问时需要建立新的连接,而目前的cookie机制使得终端设备通过浏览器访问网站时,会在终端设备产生cookie数据并在本地存储,之后终端设备再次请求页面信息时可携带cookie数据,使得服务器根据cookie信息生成页面信息,目前很多h5业务都依赖cookie作为登录态校验。
3.但是对于ios系统来说,cookie的共享和管理存在缺陷:浏览器wkwebview与nshttpcookiestorage的cookie信息不同步,这是因为其中的wkprocesspool实例在应用重启后会被重置,当再次进入wkwebview时cookie会丢失,用户信息无法保存。例如用户在wkwebview中打开一个登录界面填写信息登录后,再次进入该界面时登录信息未被保存,用户需要重新登录。


技术实现要素:

4.基于此,本发明旨在提出一种基于ios系统的cookie管理方法及设备,以克服现有技术的缺陷。
5.第一方面,本发明提供一种基于ios系统的cookie管理方法,该方法在cookie管理器处执行,包括:
6.接收浏览器发送的url;
7.根据url域名向ios沙箱发送沙箱cookie读取指令,沙箱cookie读取指令至少包括所述url域名,以供ios沙箱进行存储路径识别;
8.根据ios沙箱返回的沙箱cookie响应信息确定沙箱cookie;
9.读取浏览器跳转url后的当前cookie;
10.比对沙箱cookie和当前cookie,根据两者的差异信息修改沙箱cookie;
11.向ios沙箱返回修改后的沙箱cookie供ios沙箱保存。
12.进一步地,修改沙箱cookie包括:
13.当前cookie的字段和路径不存在于沙箱cookie时,将当前cookie的信息添加至沙箱cookie。
14.进一步地,修改沙箱cookie包括:
15.当前cookie与沙箱cookie的值和路径不一致,且字段一致时,将当前cookie替换为沙箱cookie。
16.进一步地,根据ios沙箱返回的沙箱cookie响应信息确定沙箱cookie包括:
17.响应消息表示cookie文件不为空时,将cookie文件读取为沙箱cookie并设置至浏
览器;
18.响应消息表示cookie文件为空时,读取当前浏览器的cookie文件并发送至ios沙箱,供其保存为沙箱cookie。
19.进一步地,接收的cookie文件不为空时,查询cookie的过期时间和路径,cookie文件未过期且路径正确时将其读取为沙箱cookie并设置至浏览器。
20.第二方面,本发明提供一种基于ios系统的cookie管理方法,该方法在ios沙箱处执行,包括:
21.接收cookie管理器的沙箱cookie读取指令,所述读取指令中至少包括url域名;
22.返回与所述url域名对应的沙箱cookie响应消息;
23.接收cookie管理器返回的修改后的沙箱cookie,所述修改后的沙箱cookie为cookie管理器通过比对沙箱cookie和当前cookie修改所得;
24.将修改后的沙箱cookie保存至与url域名对应的存储路径下。
25.进一步地,沙箱cookie响应消息中不存在cookie文件时,该方法包括:
26.接收cookie管理器返回的cookie文件,将其保存为沙箱cookie。
27.第三方面,本发明提供一种基于ios系统的cookie管理系统,其至少包括:
28.wkwebview浏览器,用于向cookie管理单元提供当前浏览器cookie,和/或接收cookie管理单元发送的沙箱cookie;
29.cookie管理单元,其中运行有cookie管理程序,当该程序被执行时,本系统执行本发明第一方面提供的基于ios系统的cookie管理方法;
30.ios沙箱存储单元,其中存储有应用程序的沙箱目录,用于执行本发明第二方面提供的基于ios系统的cookie管理方法。
31.第四方面,本发明提供一种基于ios系统的cookie管理设备,包括存储有计算机可执行指令的存储器和处理器,当计算机可执行指令被处理器执行时使得该系统执行第一方面和第二方面提供的基于ios系统的cookie管理方法。
32.本发明还提供一种可读存储介质,存储有计算机可执行程序,当该程序被执行时可实现第一方面和第二方面提供的基于ios系统的cookie管理方法。
33.从以上技术方案可以看出,本发明具有如下优点:
34.本发明一种基于ios系统的cookie管理方法及设备,其中的方法通过读取wkwebview浏览器的cookie,并保存到沙箱,wkwebview浏览器再次打开时,从沙箱读取cookie,重新设置到浏览器,达到cookie不丢失的目的。与现有技术相比,本发明把cookie保存到沙箱的文件中,在浏览器打开url,跳转url时,都会更新本地ios沙箱对应的cookie数据文件,app退出而重启时,沙箱的cookie文件不会丢失,并可以永久使用,直至cookie过期,能够很好地解决现有的ios系统中wkwebview无法保存cookie的问题。
附图说明
35.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
36.图1本发明一种实施例提供的基于ios系统的cookie管理系统架构图
37.图2本发明一种实施例提供的基于ios系统的cookie管理方法流程图
38.图3本发明另一实施例提供的基于ios系统的cookie管理方法流程图
39.图4本发明另一实施例提供的基于ios系统的cookie管理方法流程图
40.图5a本发明一种实施例中访问网址链接登录后cookie内容示意图
41.图5b本发明一种实施例中未使用cookie管理器时重新进入网址链接cookie内容示意图
42.图5c本发明一种实施例中使用cookie管理器时重新进入网址链接cookie内容示意图
43.图6本发明一种实施例中访问的h5界面示意图
44.图7a本发明一种实施例中访问h5界面填写信息后cookie内容示意图
45.图7b本发明一种实施例中未使用cookie管理器时重新访问h5界面cookie内容示意图
46.图7c本发明一种实施例中使用cookie管理器时重新访问h5界面cookie内容示意图
47.图8本发明一种实施例提供的基于ios系统的cookie管理设备结构示意图
具体实施方式
48.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
49.实施例一
50.参阅图1,本发明提供一种基于ios系统的cookie管理系统,在本实施例中,还提供了其他组件的示例性说明。整体包括以下几个部分:
51.wkwebview浏览器,用于向cookie管理单元提供当前浏览器cookie,和/或接收cookie管理单元发送的沙箱cookie。
52.cookie管理单元,其中运行有cookie管理程序,用于与wkwebview浏览器和ios沙箱存储单元进行通信交互。当接收到浏览器的url时,根据url域名和ios沙箱存储单元进行cookie文件的通信,比对沙箱cookie和当前cookie,根据两者的差异信息修改沙箱cookie,使得浏览器每一次打开或调整url所产生新的cookie文件都能更新到ios沙箱中,用户重新进入应用时,cookie文件不会丢失,保留用户上一次的登录信息和其他用户信息。
53.ios沙箱存储单元,其中存储有应用程序的沙箱目录,用于存储与cookie管理单元交互的cookie文件,使得用户每次进入应用时所述cookie文件都可被携带,保留用户此前在同一路径下的用户信息。
54.容易理解的是,以上各组件和/单元可以是由软件代码实现,此时上述的各组件和/或单元可存储于设置于例如控制电脑等控制端的存储器中。
55.本实施例提供的cookie管理系统,针对ios系统中的wkwebview浏览器对cookie管理的特点,引入cookie管理单元,读取浏览器产生的cookie和沙箱中保留的cookie,对两者
比对并根据差异信息对cookie文件进行修改或替换,使得用户再次进入应用时cookie不会丢失,能够很好地解决现有的ios系统中wkwebview无法保存cookie的问题。
56.实施例二
57.参阅图2示出的交互时序图,基于实施例一提供的基于ios系统的cookie管理系统,本实施例从cookie管理器侧提供一种基于ios系统的cookie管理方法,包括:
58.接收浏览器发送的url;
59.根据url域名向ios沙箱发送沙箱cookie读取指令,根据ios沙箱返回的信息确定沙箱cookie;
60.读取浏览器跳转url后的当前cookie;
61.比对沙箱cookie和当前cookie,根据两者的差异信息修改沙箱cookie;
62.向ios沙箱返回修改后的沙箱cookie供ios沙箱保存。
63.在一些实施例中,修改沙箱cookie前需要判断当前cookie的字段与沙箱cookie的一致性,若字段和路径不存在与于沙箱cookie时,将当前cookie的信息添加至沙箱cookie;若字段一致,但值和路径不一致,则把当前cookie替换为沙箱cookie。
64.在一些实施例中,根据url域名向ios沙箱中以域名命名路径的沙箱目录发送沙箱cookie读取指令;
65.接收的cookie文件不为空时将其读取为沙箱cookie并设置至浏览器;
66.接收的cookie文件为空时,读取当前浏览器的cookie文件并发送至ios沙箱,供其保存为沙箱cookie。
67.读取cookie文件在设置至浏览器之间,需要判断cookie的过期时间和路径,cookie文件未过期且路径正确时将其读取为沙箱cookie并设置至浏览器,否则不对cookie文件进行设置。
68.实施例三
69.本实施例对涉及cookie管理器和ios沙箱之间的交互所完成的cookie设置作进一步描述。
70.(1)沙箱中存储有cookie文件时,cookie管理执行过程的交互如图3所示。
71.wkwebview浏览器打开url前,把url传给cookie管理器。
72.cookie管理器分析url获取域名,根据域名读取沙箱里以域名命名的cookie数据文件。
73.由于沙箱中存储有上一次用户访问存储下的cookie文件,可以直接读取cookie文件后,判断cookie过期时间和cookie的路径,如果cookie没有过期和路径正确时,把cookie设置给wkwebview浏览器。
74.wkwebview浏览器跳转url完毕,cookie管理器读取wkwebview浏览器当前的cookie文件。
75.比对此前读取的沙箱cookie和当前cookie,根据两者的差异信息修改沙箱cookie,本实施例主要比对两者的字段、路径和值,若字段和路径不存在与于沙箱cookie时,将当前cookie的信息添加至沙箱cookie;若字段一致,但值和路径不一致,则把当前cookie替换为沙箱cookie。
76.(2)沙箱中未存储有cookie文件时,cookie管理执行过程的交互如图4所示。
77.wkwebview浏览器打开url前,把url传给cookie管理器。
78.cookie管理器分析url获取域名,根据域名读取沙箱里以域名命名的cookie数据文件。
79.由于沙箱中未存储有上一次用户访问存储下的cookie文件,例如用户是首次登入一个网页,则读取当前网页产生的cookie文件,在同一应用的沙箱目录下创建新的存储路径,将当前读取的cookie文件保存至该新建的存储路径下作为沙箱cookie。
80.此后的交互同情况(1)相同或相似,此处不再赘述。
81.为了进一步说明交互过程,以访问www.baidu.com为例。
82.用户在wkwebview浏览器访问该网页时,cookie管理器查询ios系统/var/mobile/containers/data/application/在沙箱目录/documents下是否存在命名为baidu.com的文件。若该文件存在,则读取路径/var/mobile/containers/data/application/documents下的cookie内容,并设置给当前浏览器。若该文件不存在,则在路径/var/mobile/containers/data/application/documents下创建名为baidu.com的文件,并把当前浏览器的cookie内容保存至该路径下。
83.当用户在该网页中点击“贴吧”跳转至网址tieba.baidu.com时,cookie管理器会读取当前cookie,由于网页tieba.baidu.com的host是baidu.com,管理器会读取路径/var/mobile/containers/data/application/documents/baidu.com下的cookie内容,比对在沙箱中读取的cookie内容和当前浏览器的cookie,逐一比对两者的字段、路径和值。
84.若网址tieba.baidu.com的cookie字段和路径在/var/mobile/containers/data/application/documents/baidu.com下的cookie未存储,则将当前cookie的信息添加至沙箱cookie;若两者的字段一致,但值和路径不同,则将网址tieba.baidu.com的cookie内容替换至路径/var/mobile/containers/data/application/documents/baidu.com下作为沙箱cookie。
85.实施例四
86.为了说明本发明引入cookie管理器的效果,在此以访问网址http://easybug.org/project/projectlist为例进行说明。
87.用户使用wkwebview登录该网址后,在其对应的cookie存储路径下存储的cookie内容如图5a所示,用户登录后的cookie内容新增了rememberme,teamid,userid,username,usernickname几个数据字段。
88.在未引入cookie管理器之前,若用户退出应用重新打开该网址链接时,wkwebview并未保存用户前一次的登录信息,所携带的cookie内容如图5b所示,前述新增的数据字段未被保存,用户需要重新输入相关信息进行再一次登录,这是由wkprocesspool实例在应用进程重启后被重置导致的,导致wkprocesspool中的cookie、session cookie数据丢失。
89.引入本发明提出的方法中的cookie管理器后,用户首次登录后再次进入app进程时,cookie管理器把前一次用户登录而存储的cookie还原至wkwebview,cookie内容如图5c所示,用户无需再次登录。
90.实施例五
91.为了进一步说明本发明引入cookie管理器的效果,在此以访问h5服务为例进行说明。
92.用户使用wkwebview打开一示例性的h5界面(如图6所示)进行信息填写,用户填写完毕时cookie内容更新如图7a所示,其中增加了currcity,currdistrict,currdoor,currprovince,currstreet,dept1,dept2等几个数据字段。
93.在未引入cookie管理器之前,若用户退出应用重新打开该h5界面时,wkwebview并未保存用户前一次的填写信息,所携带的cookie内容如图7b所示,前述新增的数据字段未被保存,用户需要重新填写。
94.引入本发明提出的方法中的cookie管理器后,用户首次登录后再次进入app进程时,cookie管理器把前一次用户填写而存储的cookie还原至wkwebview,cookie内容如图7c所示,用户无需重新填写。
95.以上示出的仅是为了对本发明进行说明而提供的示例性实施例,但并不以此为限定。
96.本技术实施例提供的基于ios系统的cookie管理方法可以由基于ios系统的cookie管理设备执行,该设备可以是服务器、电脑、云端等,图8示出了该设备硬件结构框图,包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4;
97.在本技术实施例中,处理器1、通信接口2、存储器3、通信总线4的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;
98.处理器1可能是一个中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
99.存储器3可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory)等,例如至少一个磁盘存储器;
100.其中,存储器存储有计算机可执行指令,处理器可调用存储器存储的程序,所述程序用于:实现前述各个实施例提供的基于ios系统的cookie管理流程。
101.本技术实施例还提供一种存储介质,存储有计算机可执行程序,当该程序被执行时可实现前述各个实施例提供的基于ios系统的cookie管理方法。
102.以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献