《一种基于IOS设备的网页拦截方法和设备.pdf》由会员分享,可在线阅读,更多相关《一种基于IOS设备的网页拦截方法和设备.pdf(20页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103366019 A(43)申请公布日 2013.10.23CN103366019A*CN103366019A*(21)申请号 201310338264.3(22)申请日 2013.08.06G06F 17/30(2006.01)(71)申请人飞天诚信科技股份有限公司地址 100085 北京市海淀区学清路9号汇智大厦B楼17层(72)发明人陆舟 于华章(54) 发明名称一种基于iOS设备的网页拦截方法和设备(57) 摘要本发明公开一种基于iOS设备的网页拦截方法和设备,应用于包括应用程序和系统组件的iOS设备中,应用程序通过对系统默认的统一资源定位符缓存对象进行子类。
2、化处理,得到对网络请求的控制权,使用链接字符串,对从请求消息中解析出的统一资源定位符字符串进行匹配,并在匹配成功时,生成伪装响应数据,并根据该伪装响应数据进行显示,能够实现对网页广告或恶意网页的拦截,降低对系统资源和网络资源的占用,提高系统的运行速度以及用户访问网络的速度和流畅度,减少对设备电量的消耗。(51)Int.Cl.权利要求书5页 说明书10页 附图4页(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书5页 说明书10页 附图4页(10)申请公布号 CN 103366019 ACN 103366019 A1/5页21.一种基于iOS设备的网页拦截方法,应用于包括应用程序。
3、和系统组件的iOS设备中,其特征在于,所述方法包括以下步骤:S1、所述应用程序启动,创建统一资源定位符缓存类的子类对象,将所述子类对象指定为统一资源定位符缓存对象,所述统一资源定位符缓存对象为所述系统组件发起网络请求时访问的对象;S2、所述应用程序获取用户输入的超文本传输协议地址,根据所述超文本传输协议地址生成第一请求消息,将所述第一请求消息发送给所述系统组件;S3、所述应用程序通过所述子类对象,监听所述系统组件发起的网络请求;S4、当所述应用程序监听到所述系统组件发起的网络请求时,所述应用程序从所述系统组件获取第二请求消息,对所述第二请求消息进行解析,得到所述第二请求消息所包含的统一资源定位。
4、符字符串;S5、所述应用程序使用链接字符串对解析出的统一资源定位符字符串进行匹配,如果匹配成功,则执行步骤S6;如果匹配失败,则执行步骤S7;S6、所述应用程序生成伪装响应数据,将所述伪装响应数据返回给所述系统组件,通过所述系统组件对所述伪装响应数据进行显示处理,并返回步骤S3;S7、所述应用程序向网站服务器发送所述第二请求消息,接收所述网站服务器返回的响应消息,将所述响应消息发送给所述系统组件,并返回步骤S3。2.如权利要求1所述的方法,其特征在于,所述步骤S2,具体为:所述应用程序获取用户输入的超文本传输协议地址,将所述超文本传输协议地址作为所述第一请求消息中的统一资源定位符字符串,生成所。
5、述第一请求消息,根据所述第一请求消息调用所述系统组件中的方法,向所述网站服务器发起网络请求,所述第一请求消息包括统一资源定位符字符串、缓存方式信息和超时时间。3.如权利要求1所述的方法,其特征在于,所述步骤S5,具体包括:A1、所述应用程序从预置的链接匹配文件的起始位置开始,读取一行链接字符串,将当前位置设置为读取到的链接字符串的末尾;A2、所述应用程序对所述读取到的链接字符串和解析出的统一资源定位符字符串进行匹配,如果所述读取到的链接字符串与所述解析出的统一资源定位符字符串匹配成功,则执行步骤S6;如果所述读取到的链接字符串和所述解析出的统一资源定位符字符串匹配失败,则执行步骤 A3;A3、。
6、所述应用程序判断当前位置是否为所述链接匹配文件的结束位置,如果是,则执行步骤S7;否则,执行步骤A4;A4、所述应用程序自当前位置开始,从所述链接匹配文件中读取一行链接字符串,将当前位置更新为读取到的链接字符串的末尾,并返回步骤A2。4.如权利要求3所述的方法,其特征在于,所述步骤A2,具体包括:B1、所述应用程序对所述读取到的链接字符串进行解析,得到有效字符串,提取所述有效字符串的首字符,并对当前遍历下标进行初始化;B2、所述应用程序根据所述当前遍历下标,从所述解析出的统一资源定位符字符串中提取对应的字符,判断提取到的字符是否为结束符,如果是,则确定所述读取到的链接字符串与所述解析出的统一资。
7、源定位符字符串匹配失败,执行步骤A3;否则,执行步骤B3;权 利 要 求 书CN 103366019 A2/5页3B3、所述应用程序判断所述提取到的字符是否与所述有效字符串的首字符相同,如果是,则执行步骤B5;否则,执行步骤B4;B4、所述应用程序对所述当前遍历下标进行更新,并返回步骤B2;B5、所述应用程序从所述当前遍历下标对应的字符开始,从所述解析出的统一资源定位符字符串中截取与所述有效字符串长度相等的字符串,判断截取的字符串是否与所述有效字符串相同,如果不同,则返回步骤B4;如果相同,则确定所述读取到的链接字符串与所述解析出的统一资源定位符字符串匹配成功,执行步骤S6。5.如权利要求4所。
8、述的方法,其特征在于,所述应用程序对当前遍历下标进行初始化,具体为:所述应用程序将当前遍历下标初始化为0;所述应用程序对所述当前遍历下标进行更新,具体为:所述应用程序将所述当前遍历下标加1。6.如权利要求3所述的方法,其特征在于,所述步骤A2,具体包括:C1、所述应用程序按照所述读取到的链接字符串中的通配符,将所述读取到的链接字符串拆分为多个子字符串;C2、所述应用程序从拆分得到的子字符串中选取一个未被处理过的子字符串;C3、所述应用程序判断选取的子字符串是否包含在所述解析出的统一资源定位符字符串中,如果是,则确定所述读取到的链接字符串与所述解析出的统一资源定位符字符串匹配成功,执行步骤S6;。
9、否则,将所述选取的子字符串标记为已被处理过,并执行步骤C4;C4、所述应用程序判断所述拆分得到的子字符串是否均被处理过,如果是,则确定所述读取到的链接字符串与所述解析出的统一资源定位符字符串匹配失败,执行步骤A3;否则,返回步骤C2。7.如权利要求3所述的方法,其特征在于,所述应用程序对所述读取到的链接字符串和解析出的统一资源定位符字符串进行匹配,具体为:所述应用程序获取与所述读取到的链接字符串对应的正则表达式,使用所述正则表达式与所述解析出的统一资源定位符字符串进行匹配。8.如权利要求1所述的方法,其特征在于,所述应用程序生成伪装响应数据,将所述伪装响应数据返回给所述系统组件,具体为:所述应。
10、用程序根据本地资源文件生成一个伪装的响应句柄,将所述响应句柄作为所述伪装响应数据返回给所述系统组件,所述响应句柄用于伪装所述网站服务器返回的响应数据,所述响应句柄包括头域、内容和缓存方式信息;所述应用程序通过所述系统组件对所述伪装响应数据进行显示处理,具体为:所述应用程序通过加载所述系统组件,显示与所述伪装响应数据对应的本地资源文件。9.如权利要求8所述的方法,其特征在于,所述应用程序根据本地资源文件生成一个伪装的响应句柄,具体为:所述应用程序获取与所述解析出的统一资源定位符字符串对应的资源文件类型,根据所述资源文件类型,选择对应的本地资源文件,根据所述本地资源文件生成一个伪装的响应句柄。权 。
11、利 要 求 书CN 103366019 A3/5页410.如权利要求1所述的方法,其特征在于,所述步骤S7,具体包括:当所述应用程序判断出本地缓存中没有存储与所述解析出的统一资源定位符字符串对应的资源文件时,所述应用程序向所述网站服务器发送所述第二请求消息,接收所述网站服务器返回的响应消息,将所述响应消息发送给所述系统组件;所述步骤S7之前,还包括:所述应用程序判断所述本地缓存中是否存储有与所述解析出的统一资源定位符字符串对应的资源文件。11.如权利要求10所述的方法,其特征在于,所述应用程序判断所述本地缓存中是否存储有与所述解析出的统一资源定位符字符串对应的资源文件之后,还包括:当所述应用程。
12、序判断出本地缓存中存储有与所述解析出的统一资源定位符字符串对应的资源文件时,所述应用程序将所述本地缓存中与所述解析出的统一资源定位符字符串对应的资源文件发送给所述系统组件,通过所述系统组件显示所述资源文件,并返回步骤S3。12.如权利要求1所述的方法,其特征在于,所述网站服务器返回的响应消息为响应数据,所述响应数据包含资源类型、资源大小、资源名称和资源数据;所述应用程序接收所述网站服务器返回的响应数据,将所述响应数据发送给所述系统组件之后,还包括:所述应用程序通过所述系统组件,显示与所述响应数据对应的资源文件。13.一种iOS设备,包括应用程序和系统组件,其特征在于,所述应用程序包括:初始化模。
13、块,用于在所述应用程序启动时,创建统一资源定位符缓存类的子类对象,将所述子类对象指定为统一资源定位符缓存对象,所述统一资源定位符缓存对象为所述系统组件发起网络请求时访问的对象;请求模块,用于获取用户输入的超文本传输协议地址,根据所述超文本传输协议地址生成第一请求消息,将所述第一请求消息发送给所述系统组件;监听模块,用于通过所述初始化模块创建的所述子类对象,监听所述系统组件发起的网络请求;解析模块,用于在所述监听模块监听到所述系统组件发起的网络请求时,从所述系统组件获取第二请求消息,对所述第二请求消息进行解析,得到所述第二请求消息所包含的统一资源定位符字符串;匹配模块,用于使用链接字符串对所述解。
14、析模块解析出的统一资源定位符字符串进行匹配;伪装模块,用于在所述匹配模块匹配成功时,生成伪装响应数据,将所述伪装响应数据返回给所述系统组件,通过所述系统组件对所述伪装响应数据进行显示处理;第一响应模块,用于在所述匹配模块匹配失败时,向网站服务器发送所述第二请求消息,接收所述网站服务器返回的响应消息,将所述响应消息发送给所述系统组件。14.如权利要求13所述的iOS设备,其特征在于,所述请求模块,具体用于获取用户输入的超文本传输协议地址,将所述超文本传输协议地址作为所述第一请求消息中的统一资源定位符字符串,生成所述第一请求消息,根据所述第一请求消息调用所述系统组件中的方法,向所述网站服务器发起网。
15、络请求,所述第权 利 要 求 书CN 103366019 A4/5页5一请求消息包括统一资源定位符字符串、缓存方式信息和超时时间。15.如权利要求13所述的iOS设备,其特征在于,所述匹配模块,具体包括读取子模块、匹配子模块和判断子模块,其中,所述读取子模块,用于从预置的链接匹配文件的起始位置开始,读取一行链接字符串,将当前位置设置为读取到的链接字符串的末尾;在被所述判断子模块触发时,自当前位置开始,从所述链接匹配文件中读取一行链接字符串,将当前位置更新为读取到的链接字符串的末尾;所述匹配子模块,用于对所述读取子模块读取到的链接字符串和所述解析模块解析出的统一资源定位符字符串进行匹配,如果所述。
16、读取到的链接字符串与所述解析出的统一资源定位符字符串匹配成功,则触发所述伪装模块;如果所述读取到的链接字符串和所述解析出的统一资源定位符字符串匹配失败,则触发所述判断子模块;所述判断子模块,用于判断当前位置是否为所述链接匹配文件的结束位置,如果是,则触发所述第一响应模块;否则,触发所述读取子模块。16.如权利要求15所述的iOS设备,其特征在于,所述匹配子模块,具体用于执行以下操作:B1、对所述读取到的链接字符串进行解析,得到有效字符串,提取所述有效字符串的首字符,并对当前遍历下标进行初始化;B2、根据所述当前遍历下标,从所述解析出的统一资源定位符字符串中提取对应的字符,判断提取到的字符是否为。
17、结束符,如果是,则确定所述读取到的链接字符串与所述解析出的统一资源定位符字符串匹配失败,触发所述判断子模块;否则,执行步骤B3;B3、判断所述提取到的字符是否与所述有效字符串的首字符相同,如果是,则执行步骤B5;否则,执行步骤B4;B4、对所述当前遍历下标进行更新,并返回步骤B2;B5、从所述当前遍历下标对应的字符开始,从所述解析出的统一资源定位符字符串中截取与所述有效字符串长度相等的字符串,判断截取的字符串是否与所述有效字符串相同,如果不同,则返回步骤B4;如果相同,则确定所述读取到的链接字符串与所述解析出的统一资源定位符字符串匹配成功,触发所述伪装模块。17.如权利要求16所述的iOS设备。
18、,其特征在于,所述匹配子模块对当前遍历下标进行初始化,具体为:所述匹配子模块将当前遍历下标初始化为0;所述匹配子模块对所述当前遍历下标进行更新,具体为:所述匹配子模块将所述当前遍历下标加1。18.如权利要求15所述的iOS设备,其特征在于,所述匹配子模块,具体用于执行以下操作:C1、按照所述读取到的链接字符串中的通配符,将所述读取到的链接字符串拆分为多个子字符串;C2、从拆分得到的子字符串中选取一个未被处理过的子字符串;C3、判断选取的子字符串是否包含在所述解析出的统一资源定位符字符串中,如果是,则确定所述读取到的链接字符串与所述解析出的统一资源定位符字符串匹配成功,触发所权 利 要 求 书C。
19、N 103366019 A5/5页6述伪装模块;否则,将所述选取的子字符串标记为已被处理过,并执行步骤C4;C4、判断根据所述拆分得到的子字符串是否均被处理过,如果是,则确定所述读取到的链接字符串与所述解析出的统一资源定位符字符串匹配失败,触发所述判断子模块;否则,返回步骤C2。19.如权利要求15所述的iOS设备,其特征在于,所述匹配子模块,具体用于获取与所述读取到的链接字符串对应的正则表达式,使用所述正则表达式与所述解析出的统一资源定位符字符串进行匹配。20.如权利要求13所述的iOS设备,其特征在于,所述伪装模块,包括:生成子模块,用于在所述匹配模块匹配成功时,根据本地资源文件生成一个伪。
20、装的响应句柄,所述响应句柄用于伪装所述网站服务器返回的响应数据,所述响应句柄包括头域、内容和缓存方式信息;发送子模块,用于将所述生成子模块生成的所述响应句柄作为所述伪装响应数据返回给所述系统组件;显示子模块,用于通过加载所述系统组件,显示与所述伪装响应数据对应的本地资源文件。21.如权利要求20所述的iOS设备,其特征在于,所述生成子模块,具体用于获取与所述解析出的统一资源定位符字符串对应的资源文件类型,根据所述资源文件类型,选择对应的本地资源文件,根据所述本地资源文件生成一个伪装的响应句柄。22.如权利要求13所述的iOS设备,其特征在于,还包括:判断模块,用于在所述匹配模块匹配失败时,判断。
21、本地缓存中是否存储有与所述解析出的统一资源定位符字符串对应的资源文件;所述第一响应模块,具体用于在所述判断模块判断出所述本地缓存中没有存储与所述解析出的统一资源定位符字符串对应的资源文件时,向所述网站服务器发送所述第二请求消息,接收所述网站服务器返回的响应消息,将所述响应消息发送给所述系统组件。23.如权利要求22所述的iOS设备,其特征在于,还包括:第二响应模块,用于在所述判断模块判断出所述本地缓存中存储有与所述解析出的统一资源定位符字符串对应的资源文件时,将所述本地缓存中与所述解析出的统一资源定位符字符串对应的资源文件发送给所述系统组件,通过所述系统组件显示所述资源文件。24.如权利要求1。
22、3所述的iOS设备,其特征在于,所述网站服务器返回的响应消息为响应数据,所述响应数据包含资源类型、资源大小、资源名称和资源数据;所述第一响应模块,还用于通过所述系统组件,显示与所述响应数据对应的资源文件。权 利 要 求 书CN 103366019 A1/10页7一种基于 iOS 设备的网页拦截方法和设备技术领域0001 本发明涉及计算机技术领域,特别涉及一种基于iOS设备的网页拦截方法和设备。背景技术0002 随着互联网的迅猛发展,iOS(苹果研发操作系统)设备的普及率也日益提高。iOS设备是使用iOS作为其操作系统的设备,包括iPhone、iPad、iPod Touch以及Apple TV等。
23、产品。用户在使用iOS设备中的网页浏览器访问网页时,通常会在不知情的情况下触发预置的网页广告或者恶意网页。其中,网页广告通过使用网站上的广告横幅、文本链接和多媒体等方法,将广告信息通过网络传递到互联网用户。0003 发明人在实现本发明的过程中,发现现有技术至少存在以下缺陷:0004 网站上预置的网页广告或者恶意网页被触发后,会占用系统资源和网络资源,降低系统的运行速度以及用户访问网络的速度和流畅度;对于移动设备而言,网页广告和恶意网页还会消耗设备的电量。此外,恶意网页被触发后,还会向客户端植入病毒,实现对客户端的监听,从客户端中盗取通信录、用户个人信息等隐私信息,甚至对客户端以及使用该客户端的。
24、用户进行定位,带来巨大的安全隐患。发明内容0005 本发明提供了一种基于iOS设备的网页拦截方法和设备,以解决现有技术中由于触发网页广告或恶意网页而导致资源被占用的问题。0006 本发明提供了一种基于iOS设备的网页拦截方法,应用于包括应用程序和系统组件的iOS设备中,所述方法包括以下步骤:0007 S1、所述应用程序启动,创建统一资源定位符缓存类的子类对象,将所述子类对象指定为统一资源定位符缓存对象,所述统一资源定位符缓存对象为所述系统组件发起网络请求时访问的对象;0008 S2、所述应用程序获取用户输入的超文本传输协议地址,根据所述超文本传输协议地址生成第一请求消息,将所述第一请求消息发送。
25、给所述系统组件;0009 S3、所述应用程序通过所述子类对象,监听所述系统组件发起的网络请求;0010 S4、当所述应用程序监听到所述系统组件发起的网络请求时,所述应用程序从所述系统组件获取第二请求消息,对所述第二请求消息进行解析,得到所述第二请求消息所包含的统一资源定位符字符串;0011 S5、所述应用程序使用链接字符串对解析出的统一资源定位符字符串进行匹配,如果匹配成功,则执行步骤S6;如果匹配失败,则执行步骤S7;0012 S6、所述应用程序生成伪装响应数据,将所述伪装响应数据返回给所述系统组件,通过所述系统组件对所述伪装响应数据进行显示处理,并返回步骤S3;0013 S7、所述应用程序。
26、向网站服务器发送所述第二请求消息,接收所述网站服务器返说 明 书CN 103366019 A2/10页8回的响应消息,将所述响应消息发送给所述系统组件,并返回步骤S3。0014 本发明还提供了一种iOS设备,包括应用程序和系统组件,所述应用程序包括:0015 初始化模块,用于在所述应用程序启动时,创建统一资源定位符缓存类的子类对象,将所述子类对象指定为统一资源定位符缓存对象,所述统一资源定位符缓存对象为所述系统组件发起网络请求时访问的对象;0016 请求模块,用于获取用户输入的超文本传输协议地址,根据所述超文本传输协议地址生成第一请求消息,将所述第一请求消息发送给所述系统组件;0017 监听模。
27、块,用于通过所述初始化模块创建的所述子类对象,监听所述系统组件发起的网络请求;0018 解析模块,用于在所述监听模块监听到所述系统组件发起的网络请求时,从所述系统组件获取第二请求消息,对所述第二请求消息进行解析,得到所述第二请求消息所包含的统一资源定位符字符串;0019 匹配模块,用于使用链接字符串对所述解析模块解析出的统一资源定位符字符串进行匹配;0020 伪装模块,用于在所述匹配模块匹配成功时,生成伪装响应数据,将所述伪装响应数据返回给所述系统组件,通过所述系统组件对所述伪装响应数据进行显示处理;0021 第一响应模块,用于在所述匹配模块匹配失败时,向网站服务器发送所述第二请求消息,接收所。
28、述网站服务器返回的响应消息,将所述响应消息发送给所述系统组件。0022 本发明达到的有益效果:通过对系统默认的URL(Uniform/Universal Resource Locator,统一资源定位符)缓存对象进行子类化处理,将网络请求的控制权从iOS系统转移到应用程序;应用程序使用链接字符串,对从请求消息中解析出的URL字符串进行匹配,并在匹配成功时,生成伪装响应数据,并根据该伪装响应数据进行显示,能够实现对网页广告或恶意网页的拦截,降低对系统资源和网络资源的占用,提高系统的运行速度以及用户访问网络的速度和流畅度,减少对设备电量的消耗。附图说明0023 图1为本发明实施例中的iOS设备的结。
29、构示意图;0024 图2为本发明实施例中的一种基于iOS设备的网页拦截方法的流程图;0025 图3为本发明实施例中的应用程序使用链接字符串进行匹配的流程图;0026 图4为本发明实施例中的一种iOS设备的结构示意图。具体实施方式0027 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。0028 本发明实施例提供了一种基于iOS设备的网页拦截方法,应用于包括应用程序和系统组件的iOS设备。
30、中,如图1所示,应用程序在初始化阶段创建URL缓存类的子类对象,将该子类对象指定为URL缓存对象,该URL缓存对象为系统默认的用于缓存数据的对象,在说 明 书CN 103366019 A3/10页9网络请求发起时被访问。0029 例如,URL缓存类为NSURLCache类时,可以创建NSURLCache类的子类,即,FTURLCache类,并创建FTURLCache类的对象cache,将cache对象指定为系统默认的NSURLCache对象。由于SDK(Software Development Kit,软件开发工具包)中的网络请求通常会访问系统默认的NSURLCache对象,将cache对象指。
31、定为系统默认的NSURLCache对象后,SDK中的网络请求会访问cache对象,从而使得cache对象能够监听和处理网络请求。0030 应用程序启动后,可以根据用户输入的HTTP(HyperText Transfer Protocol,超文本传输协议)地址生成第一请求消息,将该第一请求消息发送给系统组件,通过该系统组件发起网络请求;系统组件访问应用程序创建的URL缓存类的子类对象,例如cache对象;上述子类对象从系统组件获取第二请求消息,并向系统组件返回响应消息;系统组件根据该响应消息进行显示。通过创建和指定URL缓存类的子类对象,能够将网络请求的控制权从iOS系统转移到应用程序,通过应用。
32、程序对请求消息和网页数据进行处理,实现对网页广告和恶意网页的拦截。0031 基于上述iOS设备,本发明实施例中的网页拦截方法,如图2所示,包括以下步骤:0032 步骤201,应用程序启动,并执行初始化操作。0033 具体地,在iOS系统中,系统组件通常将缓存的数据存储到系统默认的NSURLCache对象。NSURLCache对象为全局共享的对象,SDK中的网络请求基本上都会访问NSURLCache对象,NSURLCache对象中的cachedResponseForReques方法将NSURLRequest对象映射到NSCachedURLResponse对象,并返回NSCachedURLResp。
33、onse对象。其中,系统组件可以为UIWebView组件。0034 基于上述机制,本实施例可以定义NSURLCache类的子类,即,FTURLCache类,在FTURLCache类中重写cachedResponseForRequest方法,并在应用程序启动时,在AppDelegate入口处进入以下方法:0035 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions0036 在上述方法中,可以创建FTURLCache类的对象cache。
34、,通过调用setSharedURLCache方法,将创建的cache对象指定为系统默认的NSURLCache对象,添加到系统中。0037 由于SDK中的网络请求通常会访问系统默认的NSURLCache对象,将cache对象指定为系统默认的缓存对象后,SDK中的网络请求会访问cache对象,从而使得cache对象能够监听和处理网络请求。0038 步骤202,应用程序获取用户输入的HTTP地址,根据该HTTP地址生成第一请求消息,将该第一请求消息发送给系统组件,通过该系统组件向网站服务器发起网络请求。0039 具体地,应用程序可以获取用户输入的HTTP地址,将该HTTP地址作为第一请求消息中的UR。
35、L字符串,生成第一请求消息,根据该第一请求消息调用系统组件中的方法,向网站服务器发起网络请求。0040 其中,系统组件为UIWebView组件,第一请求消息为NSURLRequest对象的实例,可以包括URL字符串、缓存方式信息和超时时间。说 明 书CN 103366019 A4/10页100041 例如,应用程序获取到的HTTP地址为“”时,生成的第一请求消息为:0042 “”0043 其中,URL字符串为“http:/ 应用程序调用UIWebView组件中的loadRequest方法,将上述第一请求消息作为loadRequest方法的参数,向网站服务器发起网络请求。0045 步骤203,应。
36、用程序监听系统组件发起的网络请求。0046 具体地,应用程序可以通过cache对象监听系统组件发起的网络请求。由于应用程序在初始化阶段将cache对象指定为系统默认的NSURLCache对象,且网络请求通常会访问系统默认的NSURLCache对象,因此,当系统组件发起网络请求时,该网络请求会访问cache对象,从而被应用程序监听到。0047 例如,网络组件中的loadRequest方法被调用,根据请求消息0048 “”,发起网络请求,访问系统默认的NSURLCache对象,即步骤201中创建的cache对象,应用程序监听到该网络请求。0049 步骤204,当应用程序监听到系统组件发起的网络请求。
37、时,应用程序从系统组件获取第二请求消息,对该第二请求消息进行解析,得到该第二请求消息所包含的URL字符串。0050 其中,第二请求消息可以与第一请求消息相同,也可以与第一请求消息不同;系统组件为UIWebView组件,当UIWebView组件中的loadRequest方法访问cache对象时,应用程序监听到UIWebView组件发起的网络请求,可以接收来自UIWebView组件的第二请求消息,调用cache对象中的cachedResponseForRequest方法,从该第二请求消息中解析出URL字符串。0051 例如,当应用程序从UIWebView组件获取到的第二请求消息为:0052 “”时。
38、,应用程序从该第二请求消息中解析出URL字符串“http:/ 当应用程序从UIWebView组件获取到的第二请求消息为:0054 “”时,应用程序从该第二请求消息中解析出URL字符串“http:/ 步骤205,应用程序打开预置的链接匹配文件,将该链接匹配文件的起始位置作为当前位置。0056 具体地,应用程序可以通过调用open方法,打开预置的链接匹配文件,将该链接匹配文件的起始位置作为当前位置。其中,链接匹配文件可以包含一行或多行链接字符串,链接字符串可以为符合预设格式的字符串。0057 例如,应用程序可以调用open方法,打开预置的链接匹配文件filter.txt。0058 步骤206,应用程序自当前位置开始,从链接匹配文件中读取一行链接字符串,将说 明 书CN 103366019 A10。