CN109714425A - 通信方法及装置 - Google Patents
通信方法及装置 Download PDFInfo
- Publication number
- CN109714425A CN109714425A CN201811646212.1A CN201811646212A CN109714425A CN 109714425 A CN109714425 A CN 109714425A CN 201811646212 A CN201811646212 A CN 201811646212A CN 109714425 A CN109714425 A CN 109714425A
- Authority
- CN
- China
- Prior art keywords
- message
- virtual
- preset
- request
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004891 communication Methods 0.000 title claims abstract description 124
- 238000000034 method Methods 0.000 claims abstract description 141
- 230000004044 response Effects 0.000 claims description 41
- 230000006870 function Effects 0.000 claims description 32
- 230000005540 biological transmission Effects 0.000 claims description 13
- 238000004458 analytical method Methods 0.000 claims description 8
- 238000012217 deletion Methods 0.000 claims description 7
- 230000037430 deletion Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 238000001914 filtration Methods 0.000 claims description 6
- 230000009471 action Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 48
- 230000008569 process Effects 0.000 description 27
- 238000012545 processing Methods 0.000 description 22
- 238000005516 engineering process Methods 0.000 description 9
- 238000012795 verification Methods 0.000 description 7
- 238000013515 script Methods 0.000 description 6
- 230000001960 triggered effect Effects 0.000 description 5
- 230000010365 information processing Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 239000003550 marker Substances 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本公开提供一种通信方法及装置,其中,所述方法包括:第一对象通过与第二对象之间的虚拟网络连接向所述第二对象发送第一消息;所述第二对象通过预设网络接口获取所述第一消息,并根据所述第一消息生成第二消息;所述第二对象将所述第二消息转换为预设格式的第三消息,并向剪切板发送所述第三消息;所述第一对象从所述剪切板中识别并解析所述第三消息,获得所述第二消息;其中,所述第一对象与所述第二对象不同,所述第一对象与所述第二对象为网页或操作系统。采用本公开提供的通信方法,可以实现通过网页来触发操作系统执行更多类型的操作,增强了网页和操作系统的功能,有效提升了终端的用户体验。
Description
技术领域
本公开涉及通信技术领域,尤其涉及一种通信方法及装置。
背景技术
随着计算机随着电子技术和触摸屏技术的发展,各式各样的终端得到了广泛的应用,各种网页和本地应用软件给人们带来了极好的通信体验。
用户经常通过浏览器或者其他包含浏览器内核的网页客户端访问网页。为了保护系统资源的安全性,浏览器等网页客户端为网页创造了一个独立的执行环境,使之与操作系统隔绝。网页和操作系统之间只能通过网页客户端预设的API接口(ApplicationProgramming Interface,应用程序编程接口)进行交互。网页和操作系统不能直接交互。
在实现本公开的过程中,发明人发现至少存在以下问题:
基于上述网页与操作系统进行通信的处理方式,如果用户使用的浏览器中没有设置相应的API接口,网页即无法与操作系统进行通信,从而,导致网页与操作系统通信失败。
发明内容
有鉴于此,本公开提供一种通信方法及装置,可实现网页向操作系统发送用于执行非域名解析的目标消息,扩展网页功能。
根据本公开实施例的第一方面,提供了一种通信方法,所述方法包括:
第一对象通过与第二对象之间的虚拟网络连接向所述第二对象发送第一消息;
所述第二对象通过预设网络接口获取所述第一消息,并根据所述第一消息生成第二消息;
所述第二对象将所述第二消息转换为预设格式的第三消息,并向剪切板发送所述第三消息;
所述第一对象从所述剪切板中识别并解析所述第三消息,获得所述第二消息;
其中,所述第一对象与所述第二对象不同,所述第一对象与所述第二对象为网页或操作系统。
根据本公开实施例的第二方面,提供了一种通信方法,应用于第一对象中,所述方法包括:
通过与第二对象之间的虚拟网络连接向所述第二对象发送第一消息,以使所述第二对象根据所述第一消息生成第二消息,并将所述第二消息转换为预设格式的第三消息发送给剪切板;
查询所述剪切板中的消息,从所述剪切板中识别所述预设格式的第三消息;
将识别出的所述第三消息解析为所述第二消息;
其中,所述第一对象与所述第二对象不同,所述第一对象与所述第二对象为网页或操作系统。
根据本公开实施例的第三方面,提供了一种通信方法,应用于第二对象中,所述方法包括:
利用预设网络接口获取第一对象通过与所述第二对象之间的虚拟网络连接发送的第一消息;
根据所述第一消息生成第二消息;
将所述第二消息转换为预设格式的第三消息,并向剪切板发送所述第三消息,以使所述第一对象通过所述剪切板获取所述第二消息;
其中,所述第一对象与所述第二对象不同,所述第一对象与所述第二对象为网页或操作系统。
根据本公开实施例的第四方面,提供了一种通信装置,所述装置包括:
第一消息发送模块,被配置为由第一对象通过与第二对象之间的虚拟网络连接向所述第二对象发送第一消息;
第二消息生成模块,被配置为由所述第二对象通过预设网络接口获取所述第一消息,并根据所述第一消息生成第二消息;
第三消息发送模块,被配置为由所述第二对象将所述第二消息转换为预设格式的第三消息,并向剪切板发送所述第三消息;
解析模块,被配置为由所述第一对象从所述剪切板中识别并解析所述第三消息,获得所述第二消息;
其中,所述第一对象与所述第二对象不同,所述第一对象与所述第二对象为网页或操作系统。
根据本公开实施例的第五方面,提供了一种通信装置,设置于第一对象中,所述装置包括:
消息发送模块,被配置为通过与第二对象之间的虚拟网络连接向所述第二对象发送第一消息,以使所述第二对象根据所述第一消息生成第二消息,并将所述第二消息转换为预设格式的第三消息发送给剪切板;
消息识别模块,被配置为查询所述剪切板中的消息,从所述剪切板中识别所述预设格式的第三消息;
消息解析模块,被配置为将识别出的所述第三消息解析为所述第二消息;
其中,所述第一对象与所述第二对象不同,所述第一对象与所述第二对象为网页或操作系统。
根据本公开实施例的第六方面,提供了一种通信装置,设置于第二对象中,所述装置包括:
第一消息获取模块,被配置为利用预设网络接口获取第一对象通过与所述第二对象之间的虚拟网络连接发送的第一消息;
第二消息生成模块,被配置为根据所述第一消息生成第二消息;
第三消息发送模块,被配置为将所述第二消息转换为预设格式的第三消息,并向剪切板发送所述第三消息,以使所述第一对象通过所述剪切板获取所述第二消息;
其中,所述第一对象与所述第二对象不同,所述第一对象与所述第二对象为网页或操作系统。
根据本公开实施例的第七方面,提供了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时上述第二方面所述方法的步骤。
根据本公开实施例的第八方面,提供了一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述第三方面所述方法的步骤。
根据本公开实施例的第九方面,提供了一种通信装置,包括:
存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;
其中,所述处理器执行所述程序时实现如下方法:
第一对象通过与第二对象之间的虚拟网络连接向所述第二对象发送第一消息;
所述第二对象通过预设网络接口获取所述第一消息,并根据所述第一消息生成第二消息;
所述第二对象将所述第二消息转换为预设格式的第三消息,并向剪切板发送所述第三消息;
所述第一对象从所述剪切板中识别并解析所述第三消息,获得所述第二消息;
其中,所述第一对象与所述第二对象不同,所述第一对象与所述第二对象为网页或操作系统。
本公开实施例提供的技术方案可以包括以下有益效果:
本公开提供的通信方法,用于呈现网页的网页客户端比如浏览器,或其他网络代理服务程序如米聊、微信等,无需增设API接口(Application Programming Interface,应用程序编程接口),就可以将网页请求消息承载于虚拟网络请求中,顺利传输给操作系统,使得操作系统可以利用预设网络接口从上述虚拟网络请求中提取出网页请求消息并进行响应,如执行关机、重启、启动计时器等命令;即可以通过目标网络请求作为承载网页请求消息的载体,从而指示操作系统提供预设服务,进而获得目标响应消息;并将生成的响应消息转换成虚拟剪贴板信息,使得网页客户端获取并解析上述预设格式的剪贴板信息,并将解析出的目标响应消息反馈给网页。实现通过网页来触发操作系统执行更多类型的操作,增强了网页和操作系统的功能,有效提升了终端的用户体验。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是本公开根据一示例性实施例示出的一种通信方法流程图;
图2是本公开根据一示例性实施例示出的另一种通信方法流程图;
图3是本公开根据一示例性实施例示出的另一种通信方法流程图;
图4是本公开根据一示例性实施例示出的一种通信方法的示意图;
图5是本公开根据一示例性实施例示出的另一种通信方法流程图;
图6-1是本公开根据一示例性实施例示出的另一种通信方法的示意图;
图6-2是本公开根据一示例性实施例示出的另一种通信方法的示意图;
图7是本公开根据一示例性实施例示出的另一种通信方法流程图;
图8是本公开根据一示例性实施例示出的另一种通信方法流程图;
图9是本公开根据一示例性实施例示出的另一种通信方法的示意图;
图10是本公开根据一示例性实施例示出的另一种通信方法流程图;
图11是本公开根据一示例性实施例示出的另一种通信方法流程图;
图12-1是本公开根据一示例性实施例示出的另一种通信方法的示意图;
图12-2是本公开根据一示例性实施例示出的另一种通信方法的示意图;
图12-3是本公开根据一示例性实施例示出的另一种通信方法的示意图;
图13是本公开根据一示例性实施例示出的另一种通信方法流程图;
图14是本公开根据一示例性实施例示出的另一种通信方法流程图;
图15是本公开根据一示例性实施例示出的一种通信装置框图;
图16是本公开根据一示例性实施例示出的另一种通信装置框图;
图17是本公开根据一示例性实施例示出的另一种通信装置框图;
图18是本公开根据一示例性实施例示出的另一种通信装置框图;
图19是本公开根据一示例性实施例示出的另一种通信装置框图;
图20是本公开根据一示例性实施例示出的另一种通信装置框图;
图21是本公开根据一示例性实施例示出的另一种通信装置框图;
图22是本公开根据一示例性实施例示出的另一种通信装置框图;
图23-1是本公开根据一示例性实施例示出的另一种通信装置框图;
图23-2是本公开根据一示例性实施例示出的另一种通信装置框图;
图24是本公开根据一示例性实施例示出的另一种通信装置框图;
图25是本公开根据一示例性实施例示出的一种通信装置框图;
图26是本公开根据一示例性实施例示出的另一种通信装置框图;
图27是本公开根据一示例性实施例示出的另一种通信装置框图;
图28是本公开根据一示例性实施例示出的一种通信装置框图;
图29是本公开根据一示例性实施例示出的另一种通信装置框图;
图30是本公开根据一示例性实施例示出的一种通信装置一结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本公开提供了一种通信方法,该方法可以用于终端中,该终端中安装有具备网页Web显示功能的应用程序APP,可以称为网页客户端。
上述终端可以为智能手机、口袋计算机(Pocket PersonalComputer,PPC)、掌上电脑、个人数字助理(PersonalDigital Assistant,PDA)、笔记本电脑、平板电脑、可穿戴设备、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、电子书阅读器或者车载设备等。
其中,上述网页客户端可以是浏览器或设有浏览器内核的网络代理服务程序;上述网络代理服务程序比如是米聊、微信、QQ等即时通信应用或其他可以请求接入网络的应用。
首先介绍本公开的相关技术背景:操作系统是架构在终端硬件上的第一层软件,利用操作系统才能实现应用程序对系统硬件的访问。任何操作系统都会向上层提供接口,应用程序通过操作系统提供的程序接口访问系统资源。程序接口是由一组系统调用命令组成。系统调用是操作系统提供给应用程序访问系统资源唯一的接口,其作用是把应用程序的请求传递给系统内核,系统内核调用相应的内核函数完成所需的处理,最终将处理结果返回给所述应用程序。
相关技术中,操作系统为了保护系统资源不被外界破坏,开放给应用程序的系统调用接口数量有限,使得应用程序可以取得的操作系统内核服务有限。
对于网页客户端这种应用程序,预设通信协议允许操作系统把有限种类的系统调用接口开放给网页客户端。也就是说,网页客户端通过有限种类的系统调用接口取得操作系统内核提供的服务。相应的,通过上述有限种类的系统调用接口,操作系统可以从网页接收到消息类型有限,例如可以包括:网络请求、剪贴板信息、图片格式文件、音频格式文件等,从而使得网页功能有限,比如通过触发网页脚本可以打开其它网页链接、复制粘贴信息、显示图片、播放音频/视频等有限功能。
基于此,本公开提供的通信方法,旨在不改变操作系统与网页客户端之间的系统调用接口的情况下,可以使网页和操作系统之间传递更多类型的消息,从而使网页获取更多的、操作系统内核提供的服务,丰富网页功能。
参照图1根据一示例性实施例示出的一种通信方法的流程图,该方法可以包括以下步骤:
在步骤11中,第一对象通过与第二对象之间的虚拟网络连接向所述第二对象发送第一消息;
其中,所述第一对象与所述第二对象不同,所述第一对象与所述第二对象为网页或操作系统。当第一对象是网页时,第二对象为操作系统;当第一对象是操作系统时,第二对象是网页。
上述第一消息属于第一对象与第二对象之间的系统调用接口能识别的、预设类型的消息。本公开实施例中,上述第一消息属于虚拟网络请求。
在本公开实施例中,用户在使用终端的过程中,可以通过浏览器等网页客户端浏览各网页。在终端显示网页的过程中,网页和操作系统可以进行通信。具体的,当第一对象接收到向第二对象发送消息的指令时,可以获取准备发送给第二对象的目标消息。当所述目标消息不属于第一对象与第二对象之间的预设系统调用接口能识别的消息类型时,可以将目标消息编辑为第二对象能识别的、符合网络请求格式的第一消息。
例如,第一对象为网页,第二对象为操作系统,技术人员在设计网页时,可以在该网页中插入预设脚本,该预设脚本在网页中可以显示为预设按钮。示例性的,当网页客户端检测到上述预设按钮的预设触发事件如点击事件时,生成第一消息。
其中,上述虚拟网络连接是终端基于相关通信协议如TCP/IP协议,在显示所述网页的网页客户端与本地的预设虚拟服务器之间建立的。
关于虚拟网络连接的建立时机,可以是第一对象在向第二对象发送目标消息之前,终端在网页客户端与虚拟服务器之间预先建立好的;也可以是第一对象准备向第二对象发送目标消息时,实时触发建立的。
在步骤12中,所述第二对象通过预设网络接口获取所述第一消息,并根据所述第一消息生成第二消息;
本公开中,第二对象可以利用预设网络接口识别出上述第一消息。其中,上述预设网络接口可以是在现有网络接口如DNS(Domain Name System,域名系统)接口、网络连接Connect接口、发送Send接口等的基础上、增设了钩子Hook函数的接口,可以统称为Hooked接口即钩子接口。本公开中,每一种Hooked接口除了具有相关技术中的接口本身的功能外,还具有本公开赋予的特定功能,后序将结合具体实施例进行详细说明。
第二对象利用上述预设网络接口识别出第一消息后,从该第一消息中提取出上述目标消息,并对目标消息进行处理,比如打开一个系统应用如计时器、开启摄像头或者打开终端中安装的其它应用程序等,根据处理结果生成第二消息。
在步骤13中,所述第二对象将所述第二消息转换为预设格式的第三消息,并向剪切板发送所述第三消息;
当第二对象确定第二消息不属于预设系统调用接口能传输的消息类型时,将上述第二消息转换成预设格式的第三消息,并通过预设系统调用接口向剪贴板发送上述第三消息。
在步骤14中,所述第一对象从所述剪切板中识别并解析所述第三消息,获得所述第二消息。
本公开中,第一对象可以查询剪切板中的消息,对上述剪切板中的消息进行识别,若当前消息属于预设格式的第三消息,按照预置规则解析该第三消息,获得第二消息。
根据上述第一对象与第二对象的不同,本公开提供的通信方法至少可以应用于以下四个场景中:
应用场景一,第一对象为网页、第二对象为操作系统;第一消息属于虚拟网络请求;第三消息属于虚拟剪切板消息;
上述通信方法的实施过程为:网页基于虚拟网络连接向操作系统发送目标网络请求,该目标网络请求携带网页请求消息,即上述虚拟网络请求;操作系统利用预设网络接口识别出上述虚拟网络请求即目标网络请求,并基于上述目标网络请求获取上述网页请求消息并响应,获得目标响应消息;操作系统将所述目标响应消息转换为虚拟剪切板消息,发送给剪切板;网页从剪切板中获取上述虚拟剪切板消息并解析为上述目标响应消息。
应用场景二,第一对象为操作系统、第二对象为网页;第一消息属于虚拟网络请求;第三消息属于虚拟剪切板消息;
上述通信方法的实施过程为:操作系统基于虚拟网络连接,向网页发送目标网络请求,该目标网络请求中携带有操作系统发出的目标消息,比如,系统通知消息;网页利用预设网络接口识别出上述目标网络请求并基于上述目标网络请求获取上述目标消息并响应,获得目标响应消息;网页将所述目标响应消息转换为预设格式的消息即虚拟剪切板消息,发送给剪切板;操作系统从剪切板中监听到上述虚拟剪切板消息并解析为上述目标响应消息。
应用场景三,第一对象为网页、第二对象为操作系统;第一消息属于虚拟剪切板消息;第三消息属于虚拟网络请求;
上述通信方法的实施过程为:网页将准备发送给操作系统的网页请求消息,转换为虚拟剪切板消息,发送给剪切板;操作系统从剪切板中识别出上述虚拟剪切板消息并解析出网页请求消息进行处理,获得目标响应消息;操作系统将所述目标响应消息转换为目标网络请求,该目标网络请求为携带有所述目标响应消息的虚拟网络请求;通过虚拟网络连接将所述目标网络请求发送给网页,以使网页利用预设网络接口识别并解析所述目标网络请求,获得所述网页请求消息对应的目标响应消息。
应用场景四,第一对象为操作系统、第二对象为网页;第一消息属于虚拟剪切板消息;第三消息属于虚拟网络请求;
上述通信方法的实施过程为:操作系统将准备发送给网页的目标消息转换为第一消息,发送给剪切板;所述第一消息属于网页能识别的虚拟剪切板消息。网页从剪切板中识别并解析所述第一消息,获得所述目标消息;根据所述目标消息生成对应的目标响应消息,并将所述目标响应消息转换为目标网络请求,通过虚拟网络连接将所述目标网络请求发送给网页,以使网页解析所述目标网络请求,获得所述目标响应消息。
基于上述各应用场景,本公开提供的通信方法总的发明构思在于:网页和操作系统之间传输的消息分别以虚拟网络请求、虚拟剪切板消息的方法进行传输。
下面以上述第一应用场景为例,对本公开提供的通信方法进行详细说明。
参照图2根据一示例性实施例示出的一种通信方法的流程图,上述步骤11~步骤14可以具体为步骤11-1~步骤14-1。
本公开中,在网页和操作系统基于虚拟网络连接传输第一消息的过程中,关键步骤在于如何建立虚拟网络连接。
基于此,在上述步骤11-1之前,所述方法还可以包括:
在步骤10中,在网页客户端与预设虚拟服务器之间建立虚拟网络连接,所述网页客户端用于显示所述网页;
本公开实施例中,上述网页与操作系统之间的虚拟网络连接,在业务层面是指网页客户端与终端本地预设的虚拟服务器之间的虚拟网络连接。
关于面向连接的网络请求,例如,基于TCP(Transmission Control Protocol,传输控制协议)的网络请求,根据TCP协议的规定,网页要想向外发送网络请求,首先需要网页客户端与网络服务器之间建立可靠的网络连接;之后,网页基于上述网络连接经操作系统向外发送网络请求。
在上述应用场景一中,步骤11-1的主要目的是:操作系统可以监听到来自网页的目标网络请求,不考虑网络请求的接收方即被请求方是否返回依据上述网络请求获取的信息。因此,可以在终端本地预设一个虚拟服务器,使网页客户端可以与该虚拟服务器建立虚拟网络连接。
在本公开一实施例中,网页客户端与虚拟服务器之间建立虚拟网络连接的触发条件可以是:网页中设置的预设脚本被触发。
本公开中,网页设计人员在设计网页时可以设计一种脚本,当该网页在网页客户端中显示时,该预设脚本可以显示为一个预设按钮。当终端检测到上述预设按钮的预设触发事件如点击事件即用户点击该预设按钮时,可以首先触发网页客户端向操作系统发送请求建立虚拟网络连接的网络请求,该网络请求携带有上述虚拟服务器的地址信息,并在虚拟网络连接建立后,向操作系统发送上述第一消息。
下面以网页客户端是浏览器、虚拟服务器为设置于本地的虚拟HTTP(Hyper TextTransfer Protocol,超文本传输协议)服务器为例,对本公开提供的通信方法进行详细说明。
本公开实施例中,上述步骤10为在网页客户端与虚拟HTTP服务器之间建立虚拟TCP连接,根据虚拟HTTP服务器地址的解析过程不同,上述步骤10的具体实施过程可以包括以下三种情况:
第一种情况,网页客户端可以直接将虚拟HTTP服务器的地址发送给网络连接Connect接口;
参照图3根据一示例性实施例示出的另一种通信方法的流程图,可以包括以下步骤:
在步骤10-11中,所述网页客户端根据所述网络请求获取虚拟HTTP服务器的地址,将所述虚拟HTTP服务器的地址发送给网络连接接口;
本公开实施例中,网页客户端在预设触发条件下发送的网络请求中可以直接包括虚拟服务器的地址。
参见图4所示的一种建立虚拟网络连接的示意图,Web浏览器发送的网络请求如URL中直接包含有虚拟HTTP服务器的地址,比如:Http://127.0.0.1/efg****。
在Web浏览器根据该网络请求建立TCP连接的过程中,可以从该网络请求中提取目的端地址(127.0.0.1),发送给网络连接接口,如图4中的步骤S1-1、S1-2所示。
在步骤10-12中,所述操作系统通过所述网络连接接口发送TCP握手数据包,所述TCP握手数据包携带有所述虚拟HTTP服务器的地址;
由于上述IP地址(127.0.0.1)属于实际存在的IP地址,因此,网络接口可以基于虚拟HTTP服务器的IP地址向本地虚拟HTTP服务器发送TCP握手数据包,可以参见图4中的步骤S1-3。上述TCP握手数据包中包含有虚拟HTTP服务器的地址(127.0.0.1)。
在步骤10-13中,通过所述TCP握手数据包与所述虚拟HTTP服务器建立虚拟TCP连接。
本地虚拟HTTP服务器接收到握手数据包之后,向Web浏览器返回应答消息(response),至此,完成一次握手过程,如图4中的步骤S1-4所示。
在TCP/IP协议中,TCP协议要求通过三次握手提供可靠的连接服务。后序两次握手过程重复执行上述步骤10-11和步骤10-13,三次握手成功之后,成功建立虚拟TCP连接。
第二种情况,网页客户端将虚拟域名发送给操作系统的第一预设域名解析接口;下面结合图6-1、图6-2根据一示例性实施例示出的另一种通信方法的示意图,详细说明该种情况下如何建立虚拟网络连接。
参见图5根据一示例性实施例示出的另一种通信方法的流程图,上述步骤10可以包括:
在步骤10-21中,所述操作系统获取网络请求中的虚拟域名;
示例性的,当用户在Web浏览器的页面中触发预设页面元素,使浏览器发出网络请求时,比如用户在Web浏览器的某一页面中点击某一网络链接,假设该网络链接地址即HTTP地址为:Http://abc.com/efg****。Web浏览器首先获取上述HTTP地址中的域名信息,即:abc.com,并将该域名信息“abc.com”发送给操作系统的预设域名解析接口,可以参见图6-1、图6-2所示的步骤S2-1、S2-2。该预设域名解析接口具有获取虚拟域名的功能。
参见图7根据一示例性实施例示出的另一种通信方法的流程图,上述步骤10-21可以包括:
在步骤101中,获取HTTP地址中的域名信息;
如上,步骤101具体为:操作系统接收网页客户端如Web浏览器根据网络请求发送的域名信息。
在步骤102中,通过Hooked DNS接口根据所述域名信息查询预设虚拟域名白名单;
本公开实施例中,Hooked DNS接口具有识别虚拟域名与实际域名的功能。
在本公开一实施例中,操作系统中可以预设有一个虚拟域名白名单,上述白名单记录了所有的虚拟域名信息。Hooked DNS接口在接收到Web浏览器发送的域名信息后,可以根据该域名信息遍历上述虚拟域名白名单,确定Web浏览器发送的域名abc.com是否为虚拟域名。
在步骤103中,若所述预设虚拟域名白名单中包括所述域名信息,确定所述域名信息属于虚拟域名。
若Hooked DNS接口在上述预设虚拟域名白名单中匹配到abc.com,则确定域名“abc.com”属于虚拟域名。即该域名指向的Web服务器是不存在的。
在步骤10-22中,通过第一预设域名解析接口将所述虚拟域名解析为对应的虚拟IP地址,并将所述虚拟IP地址返回给所述网页客户端;
本公开实施例中,第一预设域名解析接口可以将虚拟域名信息翻译成虚拟IP地址。本公开一实施例中,第一预设域名解析接口可以是增设有Hook函数的DNS接口,可以表示为:第一Hooked DNS接口,如图6-1或图6-2所示。
本公开一实施例中,第一Hooked DNS接口可以根据虚拟域名查询预置的虚拟IP地址列表,输出该虚拟域名对应的一个虚拟IP地址,并将该虚拟IP地址发送给Web浏览器。其中,上述虚拟IP地址列表包括:虚拟域名与虚拟IP地址的对应关系,示例性的,如表一所示:
虚拟域名 | 虚拟IP地址 |
abc.com | (1.2.3.4) |
表一
第一Hooked DNS接口根据域名“abc.com”查询表一,获得对应的虚拟IP地址(1.2.3.4),并发送给Web浏览器,如图6-1、图6-2中的步骤S2-3、S2-4所示。
此处需要说明的是,在本公开另一实施例中,上述第一预设域名解析接口也可以同时具备识别虚拟域名信息和将虚拟域名信息翻译成虚拟IP地址的功能,即上述步骤10-21、10-22均由第一预设域名解析接口执行。
在步骤10-23中,所述网页客户端向预设网络连接接口发送所述虚拟IP地址;
Web浏览器获取到abc.com对应的虚拟IP地址之后,假设该虚拟IP地址为:(1.2.3.4),将该虚拟IP地址发送给预设网络连接接口,即Connect接口如图6-1中的步骤S2-5。
在步骤10-24中,所述操作系统通过所述预设网络连接接口将所述虚拟IP地址转换为所述本地HTTP服务器的地址,并向所述虚拟HTTP服务器发送TCP握手数据包;
本公开实施例中,预设网络连接接口可以将网页客户端发送的虚拟IP地址修改为虚拟服务器的地址。例如,该预设网络连接接口可以是增设有Hook函数的Connect接口,可以表示为:Hooked Connect接口。
在本公开一实施例中,操作系统中可以预设有第一虚拟地址列表,上述第一虚拟地址列表包括:虚拟IP地址与虚拟服务器地址的对应关系。在一实施例中,该第一虚拟地址列表可以设置于Hooked Connect接口中。Hooked Connect接口确定网页客户端发送的IP地址为虚拟IP地址时,可以查询第一虚拟地址列表,获得与上述虚拟IP地址对应的虚拟服务器地址。
示例性地,如图6-1、图6-2所示,Hooked Connect接口接收到Web浏览器发送的虚拟IP地址(1.2.3.4),查询第一虚拟地址列表,示例性的,如表二所示:
虚拟IP地址 | 虚拟HTTP服务器的地址 |
(1.2.3.4) | (127.0.0.1) |
表二
查询表二可知,上述虚拟IP地址(1.2.3.4)对应的本地虚拟HTTP服务器的IP地址为(127.0.0.1);之后,Hooked Connect接口基于所述本地虚拟HTTP服务器的IP地址(127.0.0.1)生成TCP握手数据包,并向本地HTTP服务器发送所述TCP握手数据包,如图6-1中的步骤S2-6、S2-7所示。
在本公开另一实施例中,网页客户端获取到虚拟IP地址之后,也可以直接向Hooked Connect接口发送携带上述虚拟IP地址的握手数据包,参见图6-2中的步骤S2-5;Hooked Connect接口将上述握手数据包携带的虚拟IP地址替换为所述本地虚拟HTTP服务器的IP地址(127.0.0.1),获得更新后的TCP握手数据包,并向本地HTTP服务器发送所述更新后的TCP握手数据包,如图6-2中的S2-6、S2-7所示。
在步骤10-25中,通过所述TCP握手数据包与所述虚拟HTTP服务器建立虚拟TCP连接。
本公开实施例中,Hooked Connect接口除了具有上述修改虚拟IP地址的功能外,还具有正常的Connect接口功能,即向本地虚拟HTTP服务器发送握手数据包。
本地虚拟HTTP服务器接收到握手数据包之后,向Web浏览器返回应答消息(response),至此,完成一次握手过程,如图6-1或图6-2中的步骤S2-8所示。
在TCP/IP协议中,TCP协议要求通过三次握手提供可靠的连接服务。后序两次握手过程重复执行上述步骤10-21~步骤10-25,三次握手成功之后,成功建立虚拟TCP连接。
第三种情况,网页客户端将虚拟域名发送给第二预设域名解析接口;
参照图8根据一示例性实施例示出的另一种通信方法的流程图,可以包括以下步骤:
在步骤10-31中,所述操作系统获取网络请求中的虚拟域名;
该步骤的实施过程与上述步骤10-21类似,参见步骤10-21即可,此处不再赘述。
在步骤10-32中,通过第二域名解析接口将所述虚拟域名解析为所述虚拟HTTP服务器的地址,并将所述虚拟HTTP服务器的地址返回给所述网页客户端;
参见图9根据一示例性实施例示出的另一种通信方法的示意图。本公开实施例中,上述第二域名解析接口可以表示为第二Hooked DNS接口。该第二Hooked DNS接口可以将网页客户端如Web浏览器发送的虚拟域名直接解析为虚拟HTTP服务器的地址。
本公开实施例中,操作系统中可以预置有第二虚拟地址列表,该第二虚拟地址列表包括:虚拟域名与虚拟HTTP服务器地址的对应关系。在本公开一实施例中,第二虚拟地址列表可以具体设置于操作系统的第二Hooked DNS接口。第二Hooked DNS接口在接收到应用客户端发送的域名信息后,可以根据该域名信息查询第二虚拟地址列表,获得与所述虚拟域名对应的虚拟服务器地址。
参见图9中的步骤S3-3,第二Hooked DNS接口接收到Web浏览器发送的域名abc.com后,查询第二虚拟地址列表,示例性的,如表三所示:
虚拟域名 | 虚拟HTTP服务器的地址 |
abc.com | (127.0.0.1) |
表三
确定虚拟域名abc.com对应的虚拟HTTP服务器地址:127.0.0.1。进而将该地址返回给Web浏览器,如图9中的步骤S3-4所示。
在步骤10-33中,所述网页客户端向网络连接接口发送所述虚拟HTTP服务器的地址;
如上示例,Web浏览器获取到虚拟HTTP服务器的IP地址(127.0.0.1)之后,向网络连接接口发送该虚拟HTTP服务器的地址,如图9中的步骤S3-5。
在步骤10-34中,所述操作系统通过所述网络连接接口发送TCP握手数据包,所述TCP握手数据包携带有所述虚拟HTTP服务器的地址;
由于上述IP地址(127.0.0.1)属于实际存在的IP地址,因此,网络连接接口可以基于虚拟HTTP服务器的IP地址向本地虚拟HTTP服务器发送TCP握手数据包,如图9中的步骤S3-6所示。上述TCP握手数据包中包含有虚拟HTTP服务器的地址(127.0.0.1)。
在步骤10-35中,通过所述TCP握手数据包与所述虚拟HTTP服务器建立虚拟TCP连接。
与上述步骤10-25类似,本地虚拟HTTP服务器接收到握手数据包之后,向Web浏览器返回应答消息(response),至此,完成一次握手过程,如图9中的步骤S3-7所示。
在TCP/IP协议中,TCP协议要求通过三次握手提供可靠的连接服务。后序两次握手过程重复执行上述步骤10-31~步骤10-35,三次握手成功之后,成功建立虚拟TCP连接。
此处需要说明的是,以上仅以建立虚拟TCP连接作为示意,本公开中,建立虚拟网络连接包括但不限于建立虚拟TCP连接,还可以是遵从其他网络协议建立虚拟网络连接。本公开可以在本地设置虚拟网络服务器,利用重定向技术建立虚拟网络消息传输通道,使操作系统中的预设网络接口可以检测出携带目标消息的目标网络请求。
在步骤11-1中,网页通过与操作系统之间的虚拟网络连接向所述操作系统发送目标网络请求。
从操作系统角度而言,该步骤11-1为:基于上述虚拟网络连接,获取所述网页发送的目标网络请求,该目标网络请求携带有网页请求消息;
从网页角度而言,上述步骤11-1为:基于上述虚拟网络连接,向操作系统发送目标网络请求。
本公开实施例中,上述目标网络请求包括:预设特征信息和网页请求消息。其中,该网页请求消息用于请求操作系统提供目标服务,上述目标服务与操作系统通过预设系统调用接口提供的预设服务不同。其中,上述预设服务可以是打开指定音频文件、视频文件、显示图片、向剪贴板发送消息等;相应的,上述目标服务可以是打开某一应用的应用界面、执行系统层面的操作如开/关机、重启终端、打开闹钟、开启拍摄部件等操作。
其中,上述预设特征信息用于标记该网络请求属于虚拟网络请求,可以是预设关键字或预设编码方式等信息。上述预设特征信息可以是浏览器供应商提供,并预置在终端中。
本公开实施例中,目标网络请求可以是通过虚拟TCP连接获取的、经由操作系统的目标HTTP请求。该目标HTTP请求的消息载体可以是URL(Uniform Resource Locator,统一资源定位符)。
在步骤12-1中,所述操作系统通过预设网络接口获取所述目标网络请求,并根据所述网络请求生成第二消息;
参见图10根据一示例性实施例示出的另一种通信方法的流程图,上述步骤12-1中获取目标网络请求,可以包括:
在步骤12-11中,所述操作系统确定所述目标网络请求;
本公开实施例中,操作系统可以通过预设网络接口,比如增加了Hook函数的send接口,从获取到的网络请求中识别出目标网络请求。
参见图11根据一示例性实施例示出的另一种通信方法的流程图,上述步骤12-11可以包括:
在步骤121中,所述操作系统通过预设网络发送接口获取网络请求;
如上示例,一旦建立了TCP连接,Web浏览器就会根据上述网络请求发送请求数据。以HTTP请求为例,按照请求方法不同,上述HTTP请求可以是:GET、POST、HEAD、OPTIONS、PUT、DELETE、TARCE等请求。本公开实施例中,Web浏览器可以调用操作系统中的Send接口将上述网络请求数据发送给服务端。本公开实施例中,上述发送接口可以是Hooked Send接口。
在步骤122中,确定所述网络请求中是否包括预设特征信息;
本公开实施例中,目标网络请求包括:预设特征信息和网页请求消息。
其中,上述预设特征信息用于识别该网络请求中是否包含网页请求消息,可以是预设关键字或预设编码方式等信息。上述预设特征信息可以是网页客户端供应商提供,并预置在终端中。
以GET请求数据包为例,上述请求数据中可能包含网页请求消息,也可能不包含上述网页请求消息。因此,Hooked Send接口需要根据预设策略初步判断当前网络请求数据包中是否包括网页请求消息,以确定对该网络请求数据的后续处理。
本公开实施例中,Hooked Send接口可以通过判断Web浏览器发送的网络请求数据中是否包括预设特征信息的方式,快速识别当前网络请求是否为目标网络请求。
假设上述预设特征信息为预设关键字,上述关键字可以是预设标记符、预设字符串如“111”等,则Hooked Send接口在获取到HTTP请求后,判断该请求中是否包括上述预设关键字;如果包括,执行步骤123;反之,如果当前请求中不包括上述预设关键字,则确定该HTTP请求属于正常网络请求数据,可以通过Hooked Send接口中包括的Send模块,经防火墙发送给网络服务端。
在步骤123中,若所述网络请求中包括所述预设特征信息,确定所述网络请求为目标网络请求。
如上示例,若Hooked Send接口判定当前HTTP请求数据中包括预设特征信息,确定该HTTP请求属于目标HTTP请求。
在步骤12-12中,从所述目标网络请求中解析所述网页请求消息;
本公开实施例中,可以采用以下任一方式从目标网络请求中解析上述网页请求消息:
第一种方式,通过Hooked Send接口从目标网络请求中提取网页请求消息,参见图12-1根据一示例性实施例示出的另一种通信方法的示意图。
Hooked Send接口在识别出目标网络请求后,可以解析请求数据包,然后按照预设策略如根据预设关键字段APPID,从解析出的请求数据中提取网页请求消息。以目标网络请求为目标HTTP请求为例,上述过程可以参见图12-1中的步骤S103、S104。
示例性的,以网页请求消息为请求操作系统打开目标应用为例,假设网页客户端如Web浏览器发送的目标HTTP请求为GET请求,Hooked Send接口解析出的请求数据为:GET:/APPID=efg,则Hooked Send接口可以根据关键字段APPID从上述解析出的请求数据中提取目标应用的身份标识:efg。
第二种方式,通过预设消息Message服务从目标网络请求中解析网页请求消息,参见图12-2、12-3根据一示例性实施例示出的另一种通信方法的示意图。
参见图13根据一示例性实施例示出的另一种通信方法的流程图,上述步骤12-12可以包括:
在步骤12-121中,将所述目标网络请求发送给预设消息Message服务;
本公开一实施例中,操作系统的Hooked Send接口在识别出目标网络请求后,可以将预设目标网络请求数据发送给预设Message服务。即Hooked Send接口输出的目标网络请求如目标HTTP请求中还包括预设特征信息。
在本公开另一实施例中,Hooked Send接口在发送目标网络请求数据之前,还可以去除原始目标网络数据中的预设特征信息,获得过滤后的目标网络请求数据,之后将过滤后的目标网络请求数据发送给预设Message服务,如图12-2中的步骤S105所示。由于预设特征信息主要用于识别目标网络请求,在后序信息处理过程中,该预设特征信息属于冗余信息,因此,本公开实施例中,可以将原始目标HTTP请求中的预设特征信息去除后,再发送给Message服务,如图12-2中的步骤S106所示,从而减轻Message服务的数据处理负担,提高Message服务的信息处理效率。
上述实施例中,将目标网络请求的解析交由预设消息Message服务处理,对目标网络请求的识别过程和解析过程进行解耦,即Hooked Send接口只识别目标网络请求,不对目标网路请求数据包进行解析,可以提高Hooked Send接口对目标网络请求的检测效率。
本公开中,上述步骤12-121中,Hooked Send接口将目标网络请求发送给Message服务的实施过程,可以包括以下两种情况:
第一种情况,Hooked Send接口直接将目标网络请求发送给Message服务,参见图12-2根据一示例性实施例示出的另一种通信方法的示意图;
也就是说,Hooked Send接口可以经预设消息通道直接将原始的或过滤后的目标网络请求数据包,发送给Message服务。以目标网络请求为目标HTTP请求数据为例,上述目标网络请求的发送过程可以参见图12-2中的步骤S104。
该第一种情况下,Hooked Send接口可以采用以下两种方式获取发送给Message服务的目标网络请求数据:
方式一、拦截目标网络请求数据,直接转发给Message服务;
本公开实施例中,可能并不关心本地虚拟HTTP服务器是否针对目标HTTP请求返回应答消息,因此,Hooked Send接口可以将上述目标HTTP请求进行拦截,进而转发给Message服务。
方式二、复制一份目标网络请求数据,直接发送给Message服务。
在本公开一实施例中,若目标网络请求中还包括正常网络请求数据时,上述正常网络请求数据为请求虚拟服务器提供网络服务的数据,为了不影响正常网络请求数据传输至虚拟服务器,Hooked Send接口在识别出目标网络请求数据之后,将原始的或过滤后的目标网络请求数据复制一份,通过预设消息通道直接发送给Message服务进行后序信息处理。
第二种情况,Hooked Send接口间接将目标网络请求发送给Message服务,参见图12-3根据一示例性实施例示出的另一种通信方法的示意图;
本公开一实施例中,Hooked Send接口在确定目标网络请求之后,可以对目标网络消息作上标记,比如,增设用于指示转发给Message服务的预设标记符“M”,通过常规消息通道发送给Message服务。即将该目标网络请求数据发送给其包含的Send模块,经防火墙发送给上述虚拟HTTP服务器,之后由虚拟HTTP服务器根据上述预设标记符,将上述目标网络请求数据转发给预设Message服务。以目标网络请求为目标HTTP请求数据为例,上述目标网络请求的发送过程可以参见12-3中的步骤S1041~S1043。
仍以目标网络请求是目标HTTP请求为例,在第二种情况下,Hooked Send接口在识别出目标HTTP请求数据包后,可以对该目标HTTP请求数据包作一个简单标记比如字符“M”,以使本地HTTP服务器检测到目标HTTP请求数据包标记有“M”后,将该目标HTTP请求数据包发送给Message服务。
此种情况下,当目标网络请求中还包括正常网络请求数据时,不仅可以使网络服务器获取正常网络请求数据,还可以将目标网络请求数据发送给预设Message服务进行目标应用参数的提取。
在步骤12-122中,通过所述Message服务从所述目标网络请求中解析所述网页请求消息。
本公开实施例中,Message服务可以解析目标网络请求数据包,获取网页请求消息。
在本公开另一实施例中,Message服务在对目标网络请求进行解析之前,也可以首先对目标网络请求数据包进行信息验证。具体参照图14根据一示例性实施例示出的另一种通信方法的流程图,上述步骤12-122可以包括:
在步骤1201中,对所述目标网络请求进行信息验证;
本公开实施例中,考虑到其他HTTP请求也可能会包括上述预设特征信息,比如包含预设关键字。也就是说上述步骤123确定的目标网路请求数据包中不一定包含有网页请求消息。
Message服务接收到目标HTTP请求数据包后,还可以进一步按照预设策略对目标HTTP请求数据包进行信息验证,参见图12-2或图12-3中所示的步骤S106,例如,Message服务可以判断解析出目标网络请求中是否包括预设字段比如“APPID:”字段,如果有,确定目标网络请求通过信息验证,属于有效网络请求。
或者,在网页请求消息通过预设编码方式进行编码后,Message服务还可以采用预设解码方式对目标网络请求进行解码验证。其中,上述预设编解码方式是目标应用供应商提供的并设置在Message服务中的。
回溯到目标网络请求数据包的生成过程:Web浏览器可以按照网页客户端供应商提供的预设编码方式对上述网页请求消息进行编码,生成HTTP请求数据包。
如果Message服务可以采用预设解码方式对目标HTTP请求数据包成功解码,说明该目标HTTP请求数据包为有效HTTP请求即有效网络请求。其中,上述预设编解码方式是目标应用供应商提供的并设置在Message服务中的。
在步骤1202中,从信息验证成功的有效网络请求中解析所述网页请求消息。参见图12-2或12-3中的步骤S107。
本公开实施例中,用户终端中内置的Message服务在接收到目标HTTP请求数据包后,为确保目标HTTP请求判断准确、减小后续数据解析量,可以在解析网页请求消息之前,进一步对目标HTTP请求进行信息验证,确保后续解析的请求数据中包含有上述网页请求消息。
在步骤12-13中,响应所述网页请求消息,获得所述网页请求消息对应的目标响应消息。
操作系统在解析出上述网页请求消息之后进行响应,并根据响应结果生成第二消息。示例性的,假设上述网页请求消息用于请求操作系统启动一个计时器,则上述第二消息可以为:表示计时器已开启的反馈消息。
在步骤13-1中,操作系统将所述第二消息转换为预设格式的第三消息,并向剪切板发送所述第三消息;
本公开中,操作系统在获取第二消息之后,判断是否可以通过开放给网页的预设系统调用接口,将上述第二消息发送给网页;若不能,可以将上述第二消息编辑成上述剪切板对应的系统调用接口能识别的、预设格式的第三消息,并将该第三消息发送给剪切板。
其中,操作系统可以采用以下至少一种方式,将上述第二消息转换为预设格式的第三消息:
方式一,在第二消息中插入预设序列,得到网页能识别的、预设格式的第三消息。
在本公开一实施例中,操作系统获取到第二消息后,可以在第二消息中插入预设序列,得到网页能识别的插入有预设序列的第三消息,例如,可以在第二消息的头部插入预设序列,比如,上述预设序列可以是101010。
方式二,在第二消息中添加预设关键字,得到网页能识别的预设格式的第三消息。
在本公开另一实施例中,操作系统可以在第二消息中添加预设关键字,得到网页能识别的第三消息,上述关键字可以是预设标记符、预设字符串如“111”等。
方式三,基于预设编码方式,对第二消息进行编码,得到网页能识别的预设格式的第三消息。
在本公开另一实施例中,操作系统还可以基于系统预先约定的预设编码方式(比如Base 64编码),对第二消息进行编码,得到网页能识别的预设格式的第三消息,即第三消息是经过预设编码方式编码后的消息。
在步骤14-1中,网页从剪切板中识别所述预设格式的第三消息,并解析为所述第二消息。
本公开实施例中,网页中可以预先设置有定时查询剪切板的机制,比如,可以设置有查询周期,其中,查询周期可以是比较小的数值,这样,可以使得网页能够及时读取到操作系统发给网页的消息,从而可以缩短处理消息的时间。
具体的,每到预设的查询周期,网页可以对剪切板进行查询,当查询到剪切板中存在消息时,网页可以对剪切板中的消息进行识别,确定当前消息是否属于预设格式的消息;若是,确定当前消息是操作系统发送给自身的消息,对当前消息进行解析,获得第二消息。其中,上述当前消息可能是预设格式的第三消息,也可能是操作系统接收到复制指令或剪切指令后存储到剪切板中的消息。
网页从剪切板中识别预设格式的第三消息的过程,与上述第三消息的生成过程相对应。
对应上述方式一,当网页确定剪切板中的当前消息包含预设序列时,比如,上述预设序列可以是101010,可以确定剪切板中的当前消息中携带有操作系统发送给自身的消息。
对应上述方式二,当网页确定剪切板中的当前消息包含预设关键字时,比如,上述预设字符串“111”,可以确定剪切板中的当前消息中携带有操作系统发送给自身的消息。
对应上述方式三,当网页确定剪切板中的当前消息的编码方式属于预设编码方式如Base 64时,可以确定剪切板中的当前消息中携带有操作系统发送给自身的消息。
本公开实施例中,可以通过目标网络请求作为承载网页请求消息的载体,从而指示操作系统提供目标服务;并将生成的响应消息转换成虚拟剪切板信息,使得网页客户端如浏览器可以获取并解析上述预设格式的剪贴板信息,并将解析出的目标响应消息反馈给网页。实现通过网页来触发操作系统执行更多类型的操作,比如通过网页打开系统应用、在不增设API接口的情况下打开终端中安装的其它应用等,增强了网页和操作系统的功能,有效提升了终端的用户体验。
在本公开另一实施例中,网页在获取到第二消息之后,还可以通过上述预设系统调用接口向操作系统发送删除指示信息,以指示操作系统删除缓存于剪切板中的上述第三消息,避免上述第三消息长时间占用系统内存资源。
以上示例是结合上述应用场景一,对本公开提供的通信方法进行了详细说明。应当理解的是,当上述通信方法应用于其它应用场景时,其信息处理过程与上述应用场景一类似,此处不再赘述。
另外,剪切板属于系统组件,在上述应用场景二中,网页向剪切板发送与操作系统进行通信的预设格式的第三消息后,操作系统即可检测到剪切板中存在消息。也就是说,网页向剪切板发送第三消息后,操作系统可以实时监听到,并对剪切板中存在的消息进行识别。
在本公开另一实施例中,第二对象确定第一对象获取到第二消息之后,还可以将上述第三消息从所述剪切板中删除,避免上述第三消息长时间占用系统内存资源。
在本公开另一实施例中,操作系统在对剪切板中的消息进行识别,若确定当前消息不属于上述预设格式的消息,当接收到粘贴指令时,对所述当前消息进行粘贴处理。即,当所述第二对象接收到粘贴指令时,对所述剪切板中除所述预设格式的消息之外的其它消息,进行粘贴处理。
例如,在上述应用场景二中,针对用户可以通过剪切按钮或复制按钮,触发终端向剪切板存储消息的情况,操作系统也可检测到剪切板中存在消息,此时,操作系统也会对剪切板中存在的消息进行识别。此种情况下,操作系统可以识别出剪切板中存在的消息不是预设格式的消息,也即不会对剪切板中的消息进行处理。这样,通过将网页和操作系统通信的消息设置为预设格式的消息,可以将网页和操作系统之间相互通信的消息与剪切或复制到剪切板的消息进行有效区分,以免造成误操作,同时避免影响剪切、复制、粘贴的正常功能。
在本实施例中,终端中的剪切板同时还可以用于用户实现剪切、复制、粘贴功能。此种情况下,当操作系统接收到粘贴指令时,可以对剪切板中的消息进行识别,确定除预设格式的消息之外的其他消息,进而,可以对确定出的其他消息进行粘贴处理,其中,可以对最新剪切或复制到剪切板中的消息进行粘贴处理,也可以对剪切板中除预设格式的消息之外的所有消息进行粘贴处理。
综上,采用本公开提供的方法,当第一对象向第二对象发送的目标消息以及第二对象根据上述目标消息生成的第二消息,不属于第一对象与第二对象之间的系统调用接口可以识别的消息类型时,可以将上述目标消息和第二消息分别转换为上述预设系统调用接口能识别的、符合网络请求格式的消息或者剪切板消息,以使第一对象和第二对象之间可以传输更多类型的消息,实现通过网页来触发操作系统执行更多类型的操作,增强了网页和操作系统的功能,有效提升了终端的用户体验。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。
其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本公开所必须的。
与前述应用功能实现方法实施例相对应,本公开还提供了应用功能实现装置及相应的终端的实施例。
参见图15根据一示例性实施例示出的一种通信装置框图,所述通信装置可以包括:
第一消息发送模块21,被配置为由第一对象通过与第二对象之间的虚拟网络连接向所述第二对象发送第一消息;
第二消息生成模块22,被配置为由所述第二对象通过预设网络接口获取所述第一消息,并根据所述第一消息生成第二消息;
第三消息发送模块23,被配置为由所述第二对象将所述第二消息转换为预设格式的第三消息,并向剪切板发送所述第三消息;
解析模块24,被配置为由所述第一对象从所述剪切板中识别并解析所述第三消息,获得所述第二消息;
其中,所述第一对象与所述第二对象不同,所述第一对象与所述第二对象为网页或操作系统。
在本公开一装置实施例中,当所述第一对象为所述网页,所述第二对象为所述操作系统时;
所述第一消息为携带网页请求消息的目标网络请求,所述网页请求消息来自所述网页,用于请求所述操作系统提供目标服务,所述目标服务与所述操作系统通过预设系统调用接口为网页提供的预设服务不同;
所述第二消息为所述网页请求消息对应的目标响应消息。
参见图16根据一示例性实施例示出的另一种通信装置框图,在图15所示装置实施例的基础上,所述装置还可以包括:
虚拟连接建立模块20,被配置为在网页客户端与预设虚拟服务器之间建立所述虚拟网络连接,所述网页客户端用于显示所述网页。
在本公开一装置实施例中,所述虚拟连接建立模块20,可以被配置为在所述网页客户端与预设虚拟HTTP服务器之间,建立虚拟传输控制协议TCP连接;
所述第二消息生成模块22,可以被配置为由所述第二对象基于所述虚拟TCP连接,通过设置有钩子Hook函数的发送接口获取目标HTTP请求。
参见图17根据一示例性实施例示出的另一种通信装置框图,在图16所示装置实施例的基础上,所述虚拟连接建立模块20可以包括:
地址获取子模块2011,被配置为由所述网页客户端根据网络请求获取虚拟HTTP服务器的地址,将所述虚拟HTTP服务器的地址发送给网络连接接口;
第一握手数据发送子模块2012,被配置为由所述操作系统通过所述网络连接接口向所述虚拟HTTP服务器发送TCP握手数据包,所述TCP握手数据包携带有所述虚拟HTTP服务器的地址;
虚拟TCP连接建立子模块2013,被配置为通过所述TCP握手数据包与所述虚拟HTTP服务器建立虚拟TCP连接。
参见图18根据一示例性实施例示出的另一种通信装置框图,在图16所示装置实施例的基础上,所述虚拟连接建立模块20可以包括:
虚拟域名获取子模块2021,被配置为由所述操作系统获取网络请求中的虚拟域名;
虚拟IP地址解析子模块2022,被配置为由所述操作系统通过第一预设域名解析接口将所述虚拟域名解析为对应的虚拟IP地址,并将所述虚拟IP地址返回给所述网页客户端;
IP地址发送子模块2023,被配置为由所述网页客户端向预设网络连接接口发送所述虚拟IP地址;
第二握手数据发送子模块2024,被配置为由所述操作系统通过所述预设网络连接接口将所述虚拟IP地址转换为所述虚拟HTTP服务器的地址,并向所述虚拟HTTP服务器发送TCP握手数据包;
虚拟TCP连接建立子模块2025,被配置为通过所述TCP握手数据包与所述虚拟HTTP服务器建立虚拟TCP连接。
参见图19根据一示例性实施例示出的另一种通信装置框图,在图16所示装置实施例的基础上,所述虚拟连接建立模块20,可以包括:
虚拟域名获取子模块2031,被配置为由所述操作系统获取网络请求中的虚拟域名;
虚拟地址解析子模块2032,被配置为由所述操作系统通过第二域名解析接口将所述虚拟域名解析为所述虚拟HTTP服务器的地址,并将所述虚拟HTTP服务器的地址返回给所述网页客户端;
虚拟地址发送子模块2033,被配置为由所述网页客户端向网络连接接口发送所述虚拟HTTP服务器的地址;
第三握手数据发送子模块2034,被配置为由所述操作系统通过所述网络连接接口向所述虚拟HTTP服务器发送TCP握手数据包,所述TCP握手数据包携带有所述虚拟HTTP服务器的地址;
虚拟TCP连接建立子模块2035,被配置为通过所述TCP握手数据包与所述虚拟HTTP服务器建立虚拟TCP连接。
参见图20根据一示例性实施例示出的另一种通信装置框图,在图18所示装置实施例的基础上,虚拟域名获取子模块2021可以包括:
域名获取单元2001,被配置为获取HTTP地址中的域名信息;
查询单元2002,被配置为根据所述域名信息查询预设虚拟域名白名单;
虚拟域名确定单元2003,被配置为在所述预设虚拟域名白名单中包括所述域名信息的情况下,确定所述域名信息属于虚拟域名。
此处需要说明的是,在图19所示的装置实施例中,虚拟域名获取子模块2031也可以包括上述三个单元。
本公开中对于功能相同的模块或单元,为了便于在不同实施例中的描述可能采用不同的编号,实际上功能相同或类似。
参见图21根据一示例性实施例示出的另一种通信装置框图,在图16所示装置实施例的基础上,所述第二消息生成模块22可以包括:
网络请求获取子模块221,被配置为由所述操作系统通过预设网络发送接口获取网络请求;
在本公开一装置实施例中,上述预设网络发送接口可以是设置有钩子Hook函数的发送接口。
特征识别子模块222,被配置为确定所述网络请求中是否包括预设特征信息;
目标请求确定子模块223,被配置为在所述网络请求中包括所述预设特征信息的情况下,确定所述网络请求为所述目标网络请求。
参见图22根据一示例性实施例示出的另一种通信装置框图,在图21所示装置实施例的基础上,所述第二消息生成模块22可以包括:
消息解析子模块224,被配置为从所述目标网络请求中解析所述网页请求消息;
响应子模块225,被配置为响应所述网页请求消息,获得所述网页请求消息对应的目标响应消息。
参见图23-1根据一示例性实施例示出的另一种通信装置框图,在图22所示装置实施例的基础上,所述消息解析子模块224可以包括:
第一解析单元2241,被配置为通过所述预设网络发送接口从所述目标网络请求中解析所述网页请求消息。
参见图23-2根据一示例性实施例示出的另一种通信装置框图,在图22所示装置实施例的基础上,所述消息解析子模块224可以包括:
目标请求发送单元2242,被配置为将所述目标网络请求发送给预设消息服务;
第二解析单元2243,被配置为通过所述预设消息服务从所述目标网络请求中解析所述网页请求消息。
本公开中,所述目标请求发送单元2242,可以包括:
第一发送子单元,被配置为通过所述预设网络发送接口将所述目标网络请求发送给预设消息服务;或者,
第二发送子单元,被配置为依次通过所述预设网络发送接口、防火墙、所述虚拟HTTP服务器,将所述目标网络请求传输至所述预设消息服务;或者,
信息过滤子单元,被配置为过滤所述目标网络请求中的所述预设特征信息,获得过滤后的目标网络请求;
第三发送子单元,被配置为将所述过滤后的目标网络请求发送给所述预设消息服务。
在本本公开一装置实施例中,上述第三消息发送模块23可以包括以下至少一个子模块:
第一特征设置子模块,被配置为在所述第二消息中添加预设特征序列;
第二特征设置子模块,被配置为在所述第二消息中添加预设关键字;
第三特征设置子模块,被配置为基于预设编码方式,对所述第二消息进行编码。
参见图24根据一示例性实施例示出的另一种通信装置框图,在图15所示装置实施例的基础上,所述解析模块24可以包括:
查询子模块241,被配置为查询所述剪切板中的消息;
解析子模块242,被配置为对剪切板中的消息进行识别,如果识别到所述第三消息,则对所述第三消息进行解析,获得所述第二消息。
在本公开一装置实施例中,当所述第一对象为网页,所述第二对象为操作系统时;所述消息查询子模块,被配置为按预设的查询周期,查询所述剪切板中的消息。
以上述装置示例是站在终端角度,对终端执行上述通信方法时所包括的对应功能模块、子模块、单元进行的描述。
下面将分别从第一对象、第二对象的角度,对执行上述通信方法所对应的应用功能实现装置进行详细描述。
参见图25根据一示例性实施例示出的一种通信装置框图,设置于第一对象中,所述装置可以包括:
消息发送模块31,被配置为通过与第二对象之间的虚拟网络连接向所述第二对象发送第一消息,以使所述第二对象根据所述第一消息生成第二消息,并将所述第二消息转换为预设格式的第三消息发送给剪切板;
消息识别模块32,被配置为查询所述剪切板中的消息,从所述剪切板中识别所述预设格式的第三消息;
消息解析模块33,被配置为将识别出的所述第三消息解析为所述第二消息;
其中,所述第一对象与所述第二对象不同,所述第一对象与所述第二对象为网页或操作系统。
在本公开一装置实施例中,当所述第一对象为网页,所述第二对象为操作系统时;
参见图26根据一示例性实施例示出的另一种通信装置框图,在图25所示装置实施例的基础上,所述装置还可以包括:
虚拟连接触发模块30,被配置为触发网页客户端向所述第二对象发送网络请求,以使所述第二对象根据所述网络请求在所述第一对象与所述预设虚拟服务器之间建立虚拟网络连接;
所述网页客户端用于显示所述网页。
在本公开另一装置实施例中,所述第一对象为所述网页;所述消息识别模块32,可以包括:
查询子模块,被配置为按预设的查询周期,查询所述剪切板中的消息。
参见图27根据一示例性实施例示出的另一种通信装置框图,在图26所示装置实施例的基础上,所述装置还可以包括:
删除指示发送模块34,被配置为在解析出所述第二消息之后,向所述操作系统发送删除指示信息,所述删除指示信息用于指示所述操作系统将所述第三消息从所述剪切板中删除。
相应的,本公开还提供了设置于第二对象中的通信装置。
参见图28根据一示例性实施例示出的一种通信装置框图,设置于第二对象中,所述装置可以包括:
第一消息获取模块41,被配置为利用预设网络接口获取第一对象通过与所述第二对象之间的虚拟网络连接发送的第一消息;
第二消息生成模块42,被配置为根据所述第一消息生成第二消息;
第三消息发送模块43,被配置为将所述第二消息转换为预设格式的第三消息,并向剪切板发送所述第三消息,以使所述第一对象通过所述剪切板获取所述第二消息;
其中,所述第一对象与所述第二对象不同,所述第一对象与所述第二对象为网页或操作系统。
在本公开一装置实施例中,若所述第二对象为操作系统,所述第一对象为网页;
参见图29根据一示例性实施例示出的另一种通信装置框图,在图28所示装置实施例的基础上,所述装置还可以包括:
虚拟连接建立模块40,被配置为在网页客户端与预设虚拟服务器之间建立所述虚拟网络连接,所述网页客户端用于显示所述网页;
所述第一消息获取模块41,可以被配置为基于所述虚拟TCP连接,利用设置有钩子Hook函数的发送接口获取目标HTTP请求。
与上述图17所示装置实施例类似,在本公开另一装置实施例中,所述虚拟连接建立模块40可以包括:
地址获取子模块,被配置为通过网络连接接口接收所述网页客户端发送的虚拟HTTP服务器的地址,所述虚拟HTTP服务器的地址由所述网页客户端根据网络请求获得;
第一握手数据发送子模块,被配置为通过所述网络连接接口向所述虚拟HTTP服务器发送TCP握手数据包,所述TCP握手数据包携带有所述虚拟HTTP服务器的地址;
虚拟TCP连接建立子模块,被配置为基于所述TCP握手数据包与所述虚拟HTTP服务器建立虚拟TCP连接。
与上述图18所示装置实施例类似,在本公开另一装置实施例中,所述虚拟连接建立模块40,可以包括:
虚拟域名获取子模块,被配置为获取网络请求中的虚拟域名;
虚拟IP地址解析子模块,被配置为通过第一预设域名解析接口将所述虚拟域名解析为对应的虚拟IP地址,并将所述虚拟IP地址返回给所述网页客户端;
第二握手数据发送子模块,被配置为通过预设网络连接接口将所述网页客户端发送的所述虚拟IP地址转换为所述虚拟HTTP服务器的地址,并向所述虚拟HTTP服务器发送TCP握手数据包;
虚拟TCP连接建立子模块,被配置为通过所述TCP握手数据包与所述虚拟HTTP服务器建立虚拟TCP连接。
与上述图19所示装置实施例类似,在本公开另一装置实施例中,所述虚拟连接建立模块40,可以包括:
虚拟域名获取子模块,被配置为获取网络请求中的虚拟域名;
虚拟地址解析子模块,被配置为通过第二域名解析接口将所述虚拟域名解析为所述虚拟HTTP服务器的地址,并将所述虚拟HTTP服务器的地址返回给所述网页客户端;
虚拟地址接收子模块,被配置为通过网络连接接口接收所述网页客户端发送的所述虚拟HTTP服务器的地址;
第三握手数据发送子模块,被配置为根据所述虚拟HTTP服务器的地址,向所述虚拟HTTP服务器发送TCP握手数据包,所述TCP握手数据包携带有所述虚拟HTTP服务器的地址;
虚拟TCP连接建立子模块,被配置为通过所述TCP握手数据包与所述虚拟HTTP服务器建立虚拟TCP连接。
与上述图21所示装置实施例类似,在本公开另一装置实施例中,所述第二消息生成模块,包括:
网络请求获取子模块,被配置为通过预设网络发送接口获取网络请求;
特征识别子模块,被配置为确定所述网络请求中是否包括预设特征信息,所述预设特征信息用于标记当前网络请求属于虚拟网络请求;
目标请求确定子模块,被配置为在所述网络请求中包括预设特征信息的情况下,确定所述网络请求为目标网络请求。
与上述图22所示装置实施例类似,在本公开另一装置实施例中,所述第二消息生成模块,包括:
消息解析子模块,被配置为从所述目标网络请求中解析所述网页请求消息;
响应子模块,被配置为响应所述网页请求消息,获得所述网页请求消息对应的目标响应消息;
其中,在本公开一通信装置实施例中,所述消息解析子模块,可以包括:
第一解析单元,被配置为通过所述预设网络发送接口从所述目标网络请求中解析所述网页请求消息;或者,
目标请求发送单元,被配置为将所述目标网络请求发送给预设消息服务;
第二解析单元,被配置为通过所述预设消息服务从所述目标网络请求中解析所述网页请求消息。
在本公开一实施例提供的另一通信装置实施例中,所述目标请求发送单元,包括:
第一发送子单元,被配置为通过所述预设网络发送接口将所述目标网络请求发送给预设消息服务;或者,
第二发送子单元,被配置为依次通过所述预设网络发送接口、防火墙、所述虚拟HTTP服务器,将所述目标网络请求传输至所述预设消息服务;或者,
信息过滤子单元,被配置为过滤所述目标网络请求中的所述预设特征信息,获得过滤后的目标网络请求;
第三发送子单元,被配置为将所述过滤后的目标网络请求发送给所述预设消息服务。
在本公开一实施例提供的另一通信装置实施例中,所述第三消息发送模块可以包括以下至少一个子模块:
第一特征设置子模块,被配置为在所述第二消息中添加预设特征序列;
第二特征设置子模块,被配置为在所述第二消息中添加预设关键字;
第三特征设置子模块,被配置为基于预设编码方式,对所述第二消息进行编码。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
相应的,一方面,本公开实施例提供了一种通信装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,上述处理器被配置为:
第一对象通过与第二对象之间的虚拟网络连接向所述第二对象发送第一消息;
所述第二对象通过预设网络接口获取所述第一消息,并根据所述第一消息生成第二消息;
所述第二对象将所述第二消息转换为预设格式的第三消息,并向剪切板发送所述第三消息;
所述第一对象从所述剪切板中识别并解析所述第三消息,获得所述第二消息;其中,所述第一对象与所述第二对象不同,所述第一对象与所述第二对象为网页或操作系统。
图30是根据一示例性实施例示出的一种通信装置3000的结构示意图。例如,装置3000可以是终端,可以具体为移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理,可穿戴设备如智能手表、智能眼镜、智能手环、智能跑鞋等。
参照图30,装置3000可以包括以下一个或多个组件:处理组件3002,存储器3004,电源组件3006,多媒体组件3008,音频组件3010,输入/输出(I/O)的接口3012,传感器组件3014,以及通信组件3016。
处理组件3002通常控制装置3000的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件3002可以包括一个或多个处理器3020来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件3002可以包括一个或多个模块,便于处理组件3002和其他组件之间的交互。例如,处理组件3002可以包括多媒体模块,以方便多媒体组件3008和处理组件3002之间的交互。
存储器3004被配置为存储各种类型的数据以支持在设备3000的操作。这些数据的示例包括用于在装置3000上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器3004可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件3006为装置3000的各种组件提供电力。电源组件3006可以包括电源管理系统,一个或多个电源,及其他与为装置3000生成、管理和分配电力相关联的组件。
多媒体组件3008包括在上述装置3000和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。上述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与上述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件3008包括一个前置摄像头和/或后置摄像头。当设备3000处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件3010被配置为输出和/或输入音频信号。例如,音频组件3010包括一个麦克风(MIC),当装置3000处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器3004或经由通信组件3016发送。在一些实施例中,音频组件3010还包括一个扬声器,用于输出音频信号。
I/O接口3012为处理组件3002和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件3014包括一个或多个传感器,用于为装置3000提供各个方面的状态评估。例如,传感器组件3014可以检测到设备3000的打开/关闭状态,组件的相对定位,例如上述组件为装置3000的显示器和小键盘,传感器组件3014还可以检测装置3000或装置3000一个组件的位置改变,用户与装置3000接触的存在或不存在,装置3000方位或加速/减速和装置3000的温度变化。传感器组件3014可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件3014还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件3014还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件3016被配置为便于装置3000和其他设备之间有线或无线方式的通信。装置3000可以接入基于通信标准的无线网络,如WiFi,2G或3G,4G LTE(Long TermEvolution,长期演进)、5G NR(New Radio,新空口)网络或它们的组合。在一个示例性实施例中,通信组件3016经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,上述通信组件3016还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置3000可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种非临时性计算机可读存储介质,例如包括指令的存储器3004,当存储介质中的指令由装置3000的处理器3020执行时,使得装置3000能够执行上述任一所述的通信方法。
所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (52)
1.一种通信方法,其特征在于,所述方法包括:
第一对象通过与第二对象之间的虚拟网络连接向所述第二对象发送第一消息;
所述第二对象通过预设网络接口获取所述第一消息,并根据所述第一消息生成第二消息;
所述第二对象将所述第二消息转换为预设格式的第三消息,并向剪切板发送所述第三消息;
所述第一对象从所述剪切板中识别并解析所述第三消息,获得所述第二消息;
其中,所述第一对象与所述第二对象不同,所述第一对象与所述第二对象为网页或操作系统。
2.根据权利要求1所述的方法,其特征在于,当所述第一对象为所述网页,所述第二对象为所述操作系统时;
所述第一消息为携带网页请求消息的目标网络请求,所述网页请求消息来自所述网页,用于请求所述操作系统提供目标服务,所述目标服务与所述操作系统通过预设系统调用接口为网页提供的预设服务不同;
所述第二消息为所述网页请求消息对应的目标响应消息。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在网页客户端与预设虚拟服务器之间建立所述虚拟网络连接,所述网页客户端用于显示所述网页。
4.根据权利要求3所述的方法,其特征在于,所述在网页客户端与预设虚拟服务器之间建立所述虚拟网络连接,包括:
在所述网页客户端与预设虚拟HTTP服务器之间,建立虚拟传输控制协议TCP连接;
所述第二对象通过预设网络接口获取所述第一消息,包括:
所述第二对象基于所述虚拟TCP连接,通过设置有钩子Hook函数的发送接口获取目标HTTP请求。
5.根据权利要求4所述的方法,其特征在于,所述在所述网页客户端与预设虚拟HTTP服务器之间,建立虚拟传输控制协议TCP连接,包括:
所述网页客户端根据网络请求获取虚拟HTTP服务器的地址,将所述虚拟HTTP服务器的地址发送给网络连接接口;
所述操作系统通过所述网络连接接口向所述虚拟HTTP服务器发送TCP握手数据包,所述TCP握手数据包携带有所述虚拟HTTP服务器的地址;
通过所述TCP握手数据包与所述虚拟HTTP服务器建立虚拟TCP连接。
6.根据权利要求4所述的方法,其特征在于,所述在所述网页客户端与预设虚拟HTTP服务器之间,建立虚拟传输控制协议TCP连接,包括:
所述操作系统获取网络请求中的虚拟域名;
通过第一预设域名解析接口将所述虚拟域名解析为对应的虚拟IP地址,并将所述虚拟IP地址返回给所述网页客户端;
所述网页客户端向预设网络连接接口发送所述虚拟IP地址;
所述操作系统通过所述预设网络连接接口将所述虚拟IP地址转换为所述虚拟HTTP服务器的地址,并向所述虚拟HTTP服务器发送TCP握手数据包;
通过所述TCP握手数据包与所述虚拟HTTP服务器建立虚拟TCP连接。
7.根据权利要求4所述的方法,其特征在于,所述在所述网页客户端与预设虚拟HTTP服务器之间,建立虚拟传输控制协议TCP连接,包括:
所述操作系统获取网络请求中的虚拟域名;
通过第二域名解析接口将所述虚拟域名解析为所述虚拟HTTP服务器的地址,并将所述虚拟HTTP服务器的地址返回给所述网页客户端;
所述网页客户端向网络连接接口发送所述虚拟HTTP服务器的地址;
所述操作系统通过所述网络连接接口向所述虚拟HTTP服务器发送TCP握手数据包,所述TCP握手数据包携带有所述虚拟HTTP服务器的地址;
通过所述TCP握手数据包与所述虚拟HTTP服务器建立虚拟TCP连接。
8.根据权利要求6或7所述的方法,其特征在于,所述操作系统获取网络请求中的虚拟域名,包括:
获取HTTP地址中的域名信息;
根据所述域名信息查询预设虚拟域名白名单;
若所述预设虚拟域名白名单中包括所述域名信息,确定所述域名信息属于虚拟域名。
9.根据权利要求2所述的方法,其特征在于,所述第二对象通过预设网络接口获取所述第一消息,包括:
所述操作系统通过预设网络发送接口获取网络请求;
确定所述网络请求中是否包括预设特征信息;
若所述网络请求中包括所述预设特征信息,确定所述网络请求为所述目标网络请求。
10.根据权利要求9所述的方法,其特征在于,所述根据所述第一消息生成第二消息,包括:
从所述目标网络请求中解析所述网页请求消息;
响应所述网页请求消息,获得所述网页请求消息对应的目标响应消息;
其中,所述从所述目标网络请求中解析所述网页请求消息,包括:通过所述预设网络发送接口从所述目标网络请求中解析所述网页请求消息;或者,
将所述目标网络请求发送给预设消息服务;
通过所述预设消息服务从所述目标网络请求中解析所述网页请求消息。
11.根据权利要求10所述的方法,其特征在于,所述将所述目标网络请求发送给预设消息服务,包括:
通过所述预设网络发送接口将所述目标网络请求发送给预设消息服务;或者,
依次通过所述预设网络发送接口、防火墙、所述虚拟HTTP服务器,将所述目标网络请求传输至所述预设消息服务;或者,
过滤所述目标网络请求中的所述预设特征信息,获得过滤后的目标网络请求;
将所述过滤后的目标网络请求发送给所述预设消息服务。
12.根据权利要求1所述的方法,其特征在于,所述第二对象采用以下至少一种方式,将所述第二消息转换为预设格式的第三消息,包括:
在所述第二消息中添加预设特征序列;
在所述第二消息中添加预设关键字;
基于预设编码方式,对所述第二消息进行编码。
13.根据权利要求1所述的方法,其特征在于,所述第一对象从所述剪切板中识别并解析所述第三消息,获得所述第二消息,包括:
查询所述剪切板中的消息;
对剪切板中的消息进行识别,如果识别到所述第三消息,则对所述第三消息进行解析,获得所述第二消息。
14.一种通信方法,其特征在于,应用于第一对象中,所述方法包括:
通过与第二对象之间的虚拟网络连接向所述第二对象发送第一消息,以使所述第二对象根据所述第一消息生成第二消息,并将所述第二消息转换为预设格式的第三消息发送给剪切板;
查询所述剪切板中的消息,从所述剪切板中识别所述预设格式的第三消息;
将识别出的所述第三消息解析为所述第二消息;
其中,所述第一对象与所述第二对象不同,所述第一对象与所述第二对象为网页或操作系统。
15.根据权利要求14所述的方法,其特征在于,当所述第一对象为网页,所述第二对象为操作系统时;
在所述通过与第二对象之间的虚拟网络连接向所述第二对象发送第一消息之前,所述方法还包括:
触发网页客户端向所述第二对象发送网络请求,以使所述第二对象根据所述网络请求在所述第一对象与所述预设虚拟服务器之间建立虚拟网络连接;
所述网页客户端用于显示所述网页。
16.一种通信方法,其特征在于,应用于第二对象中,所述方法包括:
利用预设网络接口获取第一对象通过与所述第二对象之间的虚拟网络连接发送的第一消息;
根据所述第一消息生成第二消息;
将所述第二消息转换为预设格式的第三消息,并向剪切板发送所述第三消息,以使所述第一对象通过所述剪切板获取所述第二消息;
其中,所述第一对象与所述第二对象不同,所述第一对象与所述第二对象为网页或操作系统。
17.根据权利要求16所述的方法,其特征在于,所述第二对象为操作系统,所述第一对象为网页;
在所述利用预设网络接口获取第一对象通过与所述第二对象之间的虚拟网络连接发送的第一消息之前,所述方法还包括:
在网页客户端与预设虚拟服务器之间建立所述虚拟网络连接,所述网页客户端用于显示所述网页;
所述利用预设网络接口获取第一对象通过与所述第二对象之间的虚拟网络连接发送的第一消息,包括:
基于所述虚拟TCP连接,利用设置有钩子Hook函数的发送接口获取目标HTTP请求。
18.根据权利要求17所述的方法,其特征在于,所述在网页客户端与预设虚拟服务器之间建立所述虚拟网络连接,包括:
通过网络连接接口接收所述网页客户端发送的虚拟HTTP服务器的地址,所述虚拟HTTP服务器的地址由所述网页客户端根据网络请求获得;
通过所述网络连接接口向所述虚拟HTTP服务器发送TCP握手数据包,所述TCP握手数据包携带有所述虚拟HTTP服务器的地址;
基于所述TCP握手数据包与所述虚拟HTTP服务器建立虚拟TCP连接。
19.根据权利要求17所述的方法,其特征在于,所述在网页客户端与预设虚拟服务器之间建立所述虚拟网络连接,包括:
获取网络请求中的虚拟域名;
通过第一预设域名解析接口将所述虚拟域名解析为对应的虚拟IP地址,并将所述虚拟IP地址返回给所述网页客户端;
通过预设网络连接接口将所述网页客户端发送的所述虚拟IP地址转换为所述虚拟HTTP服务器的地址,并向所述虚拟HTTP服务器发送TCP握手数据包;
通过所述TCP握手数据包与所述虚拟HTTP服务器建立虚拟TCP连接。
20.根据权利要求17所述的方法,其特征在于,所述在网页客户端与预设虚拟服务器之间建立所述虚拟网络连接,包括:
获取网络请求中的虚拟域名;
通过第二域名解析接口将所述虚拟域名解析为所述虚拟HTTP服务器的地址,并将所述虚拟HTTP服务器的地址返回给所述网页客户端;
通过网络连接接口接收所述网页客户端发送的所述虚拟HTTP服务器的地址;
根据所述虚拟HTTP服务器的地址,向所述虚拟HTTP服务器发送TCP握手数据包,所述TCP握手数据包携带有所述虚拟HTTP服务器的地址;
通过所述TCP握手数据包与所述虚拟HTTP服务器建立虚拟TCP连接。
21.根据权利要求16所述的方法,其特征在于,所述利用预设网络接口获取第一对象通过与所述第二对象之间的虚拟网络连接发送的第一消息,包括:
通过预设网络发送接口获取网络请求;
确定所述网络请求中是否包括预设特征信息,所述预设特征信息用于标记当前网络请求属于虚拟网络请求;
若所述网络请求中包括所述预设特征信息,确定所述网络请求为目标网络请求。
22.根据权利要求16所述的方法,其特征在于,所述根据所述第一消息生成第二消息,包括:
从所述目标网络请求中解析所述网页请求消息;
响应所述网页请求消息,获得所述网页请求消息对应的目标响应消息;
其中,所述从所述目标网络请求中解析所述网页请求消息,包括:
通过所述预设网络发送接口从所述目标网络请求中解析所述网页请求消息;或者,
将所述目标网络请求发送给预设消息服务;
通过所述预设消息服务从所述目标网络请求中解析所述网页请求消息。
23.根据权利要求22所述的方法,其特征在于,所述将所述目标网络请求发送给预设消息服务,包括:
通过所述预设网络发送接口将所述目标网络请求发送给预设消息服务;或者,
依次通过所述预设网络发送接口、防火墙、所述虚拟HTTP服务器,将所述目标网络请求传输至所述预设消息服务;或者,
过滤所述目标网络请求中的所述预设特征信息,获得过滤后的目标网络请求;
将所述过滤后的目标网络请求发送给所述预设消息服务。
24.根据权利要求16所述的方法,其特征在于,采用以下至少一种方式,将所述第二消息转换为预设格式的第三消息,包括:
在所述第二消息中添加预设特征序列;
在所述第二消息中添加预设关键字;
基于预设编码方式,对所述第二消息进行编码。
25.一种通信装置,其特征在于,所述装置包括:
第一消息发送模块,被配置为由第一对象通过与第二对象之间的虚拟网络连接向所述第二对象发送第一消息;
第二消息生成模块,被配置为由所述第二对象通过预设网络接口获取所述第一消息,并根据所述第一消息生成第二消息;
第三消息发送模块,被配置为由所述第二对象将所述第二消息转换为预设格式的第三消息,并向剪切板发送所述第三消息;
解析模块,被配置为由所述第一对象从所述剪切板中识别并解析所述第三消息,获得所述第二消息;
其中,所述第一对象与所述第二对象不同,所述第一对象与所述第二对象为网页或操作系统。
26.根据权利要求25所述的装置,其特征在于,当所述第一对象为所述网页,所述第二对象为所述操作系统时;
所述第一消息为携带网页请求消息的目标网络请求,所述网页请求消息来自所述网页,用于请求所述操作系统提供目标服务,所述目标服务与所述操作系统通过预设系统调用接口为网页提供的预设服务不同;
所述第二消息为所述网页请求消息对应的目标响应消息。
27.根据权利要求25所述的装置,其特征在于,所述装置还包括:
虚拟连接建立模块,被配置为在网页客户端与预设虚拟服务器之间建立所述虚拟网络连接,所述网页客户端用于显示所述网页。
28.根据权利要求27所述的装置,其特征在于,所述虚拟连接建立模块,被配置为在所述网页客户端与预设虚拟HTTP服务器之间,建立虚拟传输控制协议TCP连接;
所述第二消息生成模块,被配置为由所述第二对象基于所述虚拟TCP连接,通过设置有钩子Hook函数的发送接口获取目标HTTP请求。
29.根据权利要求28所述的装置,其特征在于,所述虚拟连接建立模块,包括:
地址获取子模块,被配置为由所述网页客户端根据网络请求获取虚拟HTTP服务器的地址,将所述虚拟HTTP服务器的地址发送给网络连接接口;
第一握手数据发送子模块,被配置为由所述操作系统通过所述网络连接接口向所述虚拟HTTP服务器发送TCP握手数据包,所述TCP握手数据包携带有所述虚拟HTTP服务器的地址;
虚拟TCP连接建立子模块,被配置为通过所述TCP握手数据包与所述虚拟HTTP服务器建立虚拟TCP连接。
30.根据权利要求28所述的装置,其特征在于,所述虚拟连接建立模块,包括:
虚拟域名获取子模块,被配置为由所述操作系统获取网络请求中的虚拟域名;
虚拟IP地址解析子模块,被配置为由所述操作系统通过第一预设域名解析接口将所述虚拟域名解析为对应的虚拟IP地址,并将所述虚拟IP地址返回给所述网页客户端;
IP地址发送子模块,被配置为由所述网页客户端向预设网络连接接口发送所述虚拟IP地址;
第二握手数据发送子模块,被配置为由所述操作系统通过所述预设网络连接接口将所述虚拟IP地址转换为所述虚拟HTTP服务器的地址,并向所述虚拟HTTP服务器发送TCP握手数据包;
虚拟TCP连接建立子模块,被配置为通过所述TCP握手数据包与所述虚拟HTTP服务器建立虚拟TCP连接。
31.根据权利要求28所述的装置,其特征在于,所述虚拟连接建立模块,包括:
虚拟域名获取子模块,被配置为由所述操作系统获取网络请求中的虚拟域名;
虚拟地址解析子模块,被配置为由所述操作系统通过第二域名解析接口将所述虚拟域名解析为所述虚拟HTTP服务器的地址,并将所述虚拟HTTP服务器的地址返回给所述网页客户端;
虚拟地址发送子模块,被配置为由所述网页客户端向网络连接接口发送所述虚拟HTTP服务器的地址;
第三握手数据发送子模块,被配置为由所述操作系统通过所述网络连接接口向所述虚拟HTTP服务器发送TCP握手数据包,所述TCP握手数据包携带有所述虚拟HTTP服务器的地址;
虚拟TCP连接建立子模块,被配置为通过所述TCP握手数据包与所述虚拟HTTP服务器建立虚拟TCP连接。
32.根据权利要求30或31所述的装置,其特征在于,所述虚拟域名获取子模块,包括:
域名获取单元,被配置为获取HTTP地址中的域名信息;
查询单元,被配置为根据所述域名信息查询预设虚拟域名白名单;
虚拟域名确定单元,被配置为在所述预设虚拟域名白名单中包括所述域名信息的情况下,确定所述域名信息属于虚拟域名。
33.根据权利要求26所述的装置,其特征在于,所述第二消息生成模块,包括:
网络请求获取子模块,被配置为由所述操作系统通过预设网络发送接口获取网络请求;
特征识别子模块,被配置为确定所述网络请求中是否包括预设特征信息;
目标请求确定子模块,被配置为在所述网络请求中包括所述预设特征信息的情况下,确定所述网络请求为所述目标网络请求。
34.根据权利要求33所述的装置,其特征在于,所述第二消息生成模块,包括:
消息解析子模块,被配置为从所述目标网络请求中解析所述网页请求消息;
响应子模块,被配置为响应所述网页请求消息,获得所述网页请求消息对应的目标响应消息;
其中,所述消息解析子模块,包括:
第一解析单元,被配置为通过所述预设网络发送接口从所述目标网络请求中解析所述网页请求消息;
或者,
目标请求发送单元,被配置为将所述目标网络请求发送给预设消息服务;
第二解析单元,被配置为通过所述预设消息服务从所述目标网络请求中解析所述网页请求消息。
35.根据权利要求34所述的装置,其特征在于,所述目标请求发送单元,包括:
第一发送子单元,被配置为通过所述预设网络发送接口将所述目标网络请求发送给预设消息服务;或者,
第二发送子单元,被配置为依次通过所述预设网络发送接口、防火墙、所述虚拟HTTP服务器,将所述目标网络请求传输至所述预设消息服务;或者,
信息过滤子单元,被配置为过滤所述目标网络请求中的所述预设特征信息,获得过滤后的目标网络请求;
第三发送子单元,被配置为将所述过滤后的目标网络请求发送给所述预设消息服务。
36.根据权利要求25所述的装置,其特征在于,所述第三消息发送模块包括以下至少一个子模块:
第一特征设置子模块,被配置为在所述第二消息中添加预设特征序列;
第二特征设置子模块,被配置为在所述第二消息中添加预设关键字;
第三特征设置子模块,被配置为基于预设编码方式,对所述第二消息进行编码。
37.根据权利要求25所述的装置,其特征在于,所述解析模块,包括:
查询子模块,被配置为查询所述剪切板中的消息;
解析子模块,被配置为对剪切板中的消息进行识别,如果识别到所述第三消息,则对所述第三消息进行解析,获得所述第二消息。
38.一种通信装置,其特征在于,设置于第一对象中,所述装置包括:
消息发送模块,被配置为通过与第二对象之间的虚拟网络连接向所述第二对象发送第一消息,以使所述第二对象根据所述第一消息生成第二消息,并将所述第二消息转换为预设格式的第三消息发送给剪切板;
消息识别模块,被配置为查询所述剪切板中的消息,从所述剪切板中识别所述预设格式的第三消息;
消息解析模块,被配置为将识别出的所述第三消息解析为所述第二消息;
其中,所述第一对象与所述第二对象不同,所述第一对象与所述第二对象为网页或操作系统。
39.根据权利要求38所述的装置,其特征在于,当所述第一对象为网页,所述第二对象为操作系统时;
所述装置还包括:
虚拟连接触发模块,被配置为触发网页客户端向所述第二对象发送网络请求,以使所述第二对象根据所述网络请求在所述第一对象与所述预设虚拟服务器之间建立虚拟网络连接;
所述网页客户端用于显示所述网页。
40.根据权利要求38所述的装置,其特征在于,所述装置还包括:
删除指示发送模块,被配置为在解析出所述第二消息之后,向所述操作系统发送删除指示信息,所述删除指示信息用于指示所述操作系统将所述第三消息从所述剪切板中删除。
41.一种通信装置,其特征在于,设置于第二对象中,所述装置包括:
第一消息获取模块,被配置为利用预设网络接口获取第一对象通过与所述第二对象之间的虚拟网络连接发送的第一消息;
第二消息生成模块,被配置为根据所述第一消息生成第二消息;
第三消息发送模块,被配置为将所述第二消息转换为预设格式的第三消息,并向剪切板发送所述第三消息,以使所述第一对象通过所述剪切板获取所述第二消息;
其中,所述第一对象与所述第二对象不同,所述第一对象与所述第二对象为网页或操作系统。
42.根据权利要求41所述的装置,其特征在于,所述第二对象为操作系统,所述第一对象为网页;
所述装置还包括:
虚拟连接建立模块,被配置为在网页客户端与预设虚拟服务器之间建立所述虚拟网络连接,所述网页客户端用于显示所述网页;
所述第一消息获取模块,被配置为基于所述虚拟TCP连接,利用设置有钩子Hook函数的发送接口获取目标HTTP请求。
43.根据权利要求42所述的装置,其特征在于,所述虚拟连接建立模块,包括:
地址获取子模块,被配置为通过网络连接接口接收所述网页客户端发送的虚拟HTTP服务器的地址,所述虚拟HTTP服务器的地址由所述网页客户端根据网络请求获得;
第一握手数据发送子模块,被配置为通过所述网络连接接口向所述虚拟HTTP服务器发送TCP握手数据包,所述TCP握手数据包携带有所述虚拟HTTP服务器的地址;
虚拟TCP连接建立子模块,被配置为基于所述TCP握手数据包与所述虚拟HTTP服务器建立虚拟TCP连接。
44.根据权利要求42所述的装置,其特征在于,所述虚拟连接建立模块,包括:
虚拟域名获取子模块,被配置为获取网络请求中的虚拟域名;
虚拟IP地址解析子模块,被配置为通过第一预设域名解析接口将所述虚拟域名解析为对应的虚拟IP地址,并将所述虚拟IP地址返回给所述网页客户端;
第二握手数据发送子模块,被配置为通过预设网络连接接口将所述网页客户端发送的所述虚拟IP地址转换为所述虚拟HTTP服务器的地址,并向所述虚拟HTTP服务器发送TCP握手数据包;
虚拟TCP连接建立子模块,被配置为通过所述TCP握手数据包与所述虚拟HTTP服务器建立虚拟TCP连接。
45.根据权利要求42所述的装置,其特征在于,所述虚拟连接建立模块,包括:
虚拟域名获取子模块,被配置为获取网络请求中的虚拟域名;
虚拟地址解析子模块,被配置为通过第二域名解析接口将所述虚拟域名解析为所述虚拟HTTP服务器的地址,并将所述虚拟HTTP服务器的地址返回给所述网页客户端;
虚拟地址接收子模块,被配置为通过网络连接接口接收所述网页客户端发送的所述虚拟HTTP服务器的地址;
第三握手数据发送子模块,被配置为根据所述虚拟HTTP服务器的地址,向所述虚拟HTTP服务器发送TCP握手数据包,所述TCP握手数据包携带有所述虚拟HTTP服务器的地址;
虚拟TCP连接建立子模块,被配置为通过所述TCP握手数据包与所述虚拟HTTP服务器建立虚拟TCP连接。
46.根据权利要求41所述的装置,其特征在于,所述第二消息生成模块,包括:
网络请求获取子模块,被配置为通过预设网络发送接口获取网络请求;
特征识别子模块,被配置为确定所述网络请求中是否包括预设特征信息,所述预设特征信息用于标记当前网络请求属于虚拟网络请求;
目标确定子模块,被配置为在所述网络请求中包括预设特征信息的情况下,确定所述网络请求为目标网络请求。
47.根据权利要求41所述的装置,其特征在于,所述第二消息生成模块,包括:
消息解析子模块,被配置为从所述目标网络请求中解析所述网页请求消息;
响应子模块,被配置为响应所述网页请求消息,获得所述网页请求消息对应的目标响应消息;
其中,所述消息解析子模块,包括:
第一解析单元,被配置为通过所述预设网络发送接口从所述目标网络请求中解析所述网页请求消息;或者,
目标请求发送单元,被配置为将所述目标网络请求发送给预设消息服务;
第二解析单元,被配置为通过所述预设消息服务从所述目标网络请求中解析所述网页请求消息。
48.根据权利要求47所述的装置,其特征在于,所述目标请求发送单元,包括:
第一发送子单元,被配置为通过所述预设网络发送接口将所述目标网络请求发送给预设消息服务;或者,
第二发送子单元,被配置为依次通过所述预设网络发送接口、防火墙、所述虚拟HTTP服务器,将所述目标网络请求传输至所述预设消息服务;或者,
信息过滤子单元,被配置为过滤所述目标网络请求中的所述预设特征信息,获得过滤后的目标网络请求;
第三发送子单元,被配置为将所述过滤后的目标网络请求发送给所述预设消息服务。
49.根据权利要求41所述的装置,其特征在于,所述第三消息发送模块包括以下至少一个子模块:
第一特征设置子模块,被配置为在所述第二消息中添加预设特征序列;
第二特征设置子模块,被配置为在所述第二消息中添加预设关键字;
第三特征设置子模块,被配置为基于预设编码方式,对所述第二消息进行编码。
50.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求14或15所述方法的步骤。
51.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求16~24任一所述方法的步骤。
52.一种通信装置,其特征在于,包括:
存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;
其中,所述处理器执行所述程序时实现如下方法:
第一对象通过与第二对象之间的虚拟网络连接向所述第二对象发送第一消息;
所述第二对象通过预设网络接口获取所述第一消息,并根据所述第一消息生成第二消息;
所述第二对象将所述第二消息转换为预设格式的第三消息,并向剪切板发送所述第三消息;
所述第一对象从所述剪切板中识别并解析所述第三消息,获得所述第二消息;
其中,所述第一对象与所述第二对象不同,所述第一对象与所述第二对象为网页或操作系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811646212.1A CN109714425A (zh) | 2018-12-29 | 2018-12-29 | 通信方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811646212.1A CN109714425A (zh) | 2018-12-29 | 2018-12-29 | 通信方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109714425A true CN109714425A (zh) | 2019-05-03 |
Family
ID=66260470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811646212.1A Pending CN109714425A (zh) | 2018-12-29 | 2018-12-29 | 通信方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109714425A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110007982A (zh) * | 2019-03-05 | 2019-07-12 | 北京小米移动软件有限公司 | 通信方法及装置 |
CN112020078A (zh) * | 2019-05-28 | 2020-12-01 | 华为技术有限公司 | 数据传输方法以及装置 |
WO2023082191A1 (zh) * | 2021-11-12 | 2023-05-19 | Oppo广东移动通信有限公司 | 一种无线通信方法、装置、通信设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005039134A1 (en) * | 2003-10-15 | 2005-04-28 | Qualcomm Incorporated | Wireless lan protocol stack |
CN108139952A (zh) * | 2017-06-14 | 2018-06-08 | 北京小米移动软件有限公司 | 应用交互方法、交互方法及装置 |
CN108156220A (zh) * | 2017-12-04 | 2018-06-12 | 北京小米移动软件有限公司 | 通信方法及装置 |
CN108156271A (zh) * | 2017-12-04 | 2018-06-12 | 北京小米移动软件有限公司 | 通信方法、装置及电子设备 |
CN108491282A (zh) * | 2018-03-28 | 2018-09-04 | 北京小米移动软件有限公司 | 网页和操作系统进行通信的方法和装置 |
CN108600529A (zh) * | 2018-04-09 | 2018-09-28 | 北京小米移动软件有限公司 | 信息交互方法、装置及计算机可读存储介质 |
CN108833585A (zh) * | 2018-07-03 | 2018-11-16 | 北京小米移动软件有限公司 | 信息交互方法、装置及存储介质 |
CN108965413A (zh) * | 2018-07-03 | 2018-12-07 | 北京小米移动软件有限公司 | 信息交互方法、装置及存储介质 |
CN109005096A (zh) * | 2017-06-14 | 2018-12-14 | 北京小米移动软件有限公司 | 应用交互方法及装置 |
-
2018
- 2018-12-29 CN CN201811646212.1A patent/CN109714425A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005039134A1 (en) * | 2003-10-15 | 2005-04-28 | Qualcomm Incorporated | Wireless lan protocol stack |
CN108139952A (zh) * | 2017-06-14 | 2018-06-08 | 北京小米移动软件有限公司 | 应用交互方法、交互方法及装置 |
CN109005096A (zh) * | 2017-06-14 | 2018-12-14 | 北京小米移动软件有限公司 | 应用交互方法及装置 |
CN108156220A (zh) * | 2017-12-04 | 2018-06-12 | 北京小米移动软件有限公司 | 通信方法及装置 |
CN108156271A (zh) * | 2017-12-04 | 2018-06-12 | 北京小米移动软件有限公司 | 通信方法、装置及电子设备 |
CN108491282A (zh) * | 2018-03-28 | 2018-09-04 | 北京小米移动软件有限公司 | 网页和操作系统进行通信的方法和装置 |
CN108600529A (zh) * | 2018-04-09 | 2018-09-28 | 北京小米移动软件有限公司 | 信息交互方法、装置及计算机可读存储介质 |
CN108833585A (zh) * | 2018-07-03 | 2018-11-16 | 北京小米移动软件有限公司 | 信息交互方法、装置及存储介质 |
CN108965413A (zh) * | 2018-07-03 | 2018-12-07 | 北京小米移动软件有限公司 | 信息交互方法、装置及存储介质 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110007982A (zh) * | 2019-03-05 | 2019-07-12 | 北京小米移动软件有限公司 | 通信方法及装置 |
CN110007982B (zh) * | 2019-03-05 | 2022-09-30 | 北京小米移动软件有限公司 | 通信方法及装置 |
CN112020078A (zh) * | 2019-05-28 | 2020-12-01 | 华为技术有限公司 | 数据传输方法以及装置 |
WO2020238895A1 (zh) * | 2019-05-28 | 2020-12-03 | 华为技术有限公司 | 数据传输方法以及装置 |
CN112020078B (zh) * | 2019-05-28 | 2022-07-19 | 华为技术有限公司 | 数据传输方法以及装置 |
WO2023082191A1 (zh) * | 2021-11-12 | 2023-05-19 | Oppo广东移动通信有限公司 | 一种无线通信方法、装置、通信设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11206451B2 (en) | Information interception processing method, terminal, and computer storage medium | |
CN109005096B (zh) | 应用交互方法及装置 | |
CN105245518B (zh) | 网址劫持的检测方法及装置 | |
CN108833585B (zh) | 信息交互方法、装置及存储介质 | |
CN108390944B (zh) | 信息交互方法及装置 | |
CN112291338B (zh) | 通信方法、装置及电子设备 | |
CN108063804B (zh) | 通信方法及装置 | |
KR20180004093A (ko) | 인스턴트 메시징 동안의 미디어 콘텐츠의 전송 | |
US10437577B2 (en) | Systems and methods for mobile application installation | |
CN108156271B (zh) | 通信方法、装置及电子设备 | |
CN109714425A (zh) | 通信方法及装置 | |
CN109525652B (zh) | 信息分享方法、装置、设备和存储介质 | |
CN108965413A (zh) | 信息交互方法、装置及存储介质 | |
CN109218375B (zh) | 应用交互方法及装置 | |
KR101744696B1 (ko) | 정보 필터링 방법, 장치, 프로그램 및 저장매체 | |
CN109218275B (zh) | 应用交互方法及装置 | |
CN109213580A (zh) | 应用交互方法及装置 | |
MX2014000965A (es) | Sistema y metodo para activar un dispositivo movil para iniciar una comunicacion. | |
CN109218374B (zh) | 应用交互方法及装置 | |
WO2009062396A1 (fr) | Procédé d'accès à des ressources et système d'accès à des ressources | |
CN110007982B (zh) | 通信方法及装置 | |
CN109815030B (zh) | 通信方法及装置 | |
CN109086143B (zh) | 应用交互方法及装置 | |
CN109766501B (zh) | 爬虫协议管理方法及装置、爬虫系统 | |
CN109739662A (zh) | 通信方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190503 |