代理网络协议的方法、装置以及电子设备与流程

文档序号:12132332阅读:301来源:国知局
代理网络协议的方法、装置以及电子设备与流程

本发明实施例涉及互联网技术领域,尤其涉及代理网络协议的方法、装置以及电子设备。



背景技术:

目前,软件TinyProxy(轻代理)是一个在标准操作系统中轻量级的代理http协议的软件。软件TinyProxy采用多进程模式对http的请求进行代理,该软件的优势是轻便简单且无需过多的配置。

发明人在研究本申请的过程中发现,现有技术中至少存在以下技术问题:由于软件TinyProxy不支持代理https协议和rtmp协议(实时消息传输协议),因而限制了软件TinyProxy的应用范围。

因此,如何扩大软件TinyProxy代理网络协议的范围,成为亟待解决的技术问题。



技术实现要素:

本发明实施例所要解决的技术问题是,扩大软件TinyProxy代理网络协议的范围。

为了解决上述技术问题,本发明实施例一方面采用了以下的技术方案:

一种代理网络协议的方法,包括:请求网络协议的网络端口;将所述网络协议的网络端口,重定向到代理监听的网络端口;通过所述代理监听的网络端口预读请求的数据,判断所述网络协议是否为非http协议,其中所述请求的数据根据所述网络协议传输;当所述网络协议为非http协议时,判断根据所述网络协议发起的数据请求是否为免流请求;当根据所述网络协议发起的数据请求为免流请求时,将所述数据请求发送给免流服务器;当根据所述网络协议发起的数据请求为非免流请求时,将所述数据请求发送到外网。

在本发明一个或者多个实施例中,使用防火墙将所述网络协议的网络端口,重定向到代理监听的网络端口。

在本发明一个或者多个实施例中,所述通过所述代理监听的网络端口预读请求的数据,判断所述网络协议是否为非http协议,包括:按空格拆分所述请求的数据;当所述请求的数据不能按空格拆分为2或3个数据段时,判断所述网络协议为非http协议。

在本发明一个或者多个实施例中,当所述网络协议为非http协议时,所述方法还包括:当所述网络协议为非http协议时,所述方法还包括:当所述网络协议的网络端口为预设的https协议网络端口时,判断所述非http协议为https协议;当所述网络协议的网络端口为预设的rtmp协议网络端口时,判断所述非http协议为rtmp协议。

在本发明一个或者多个实施例中,当所述网络协议为非http协议时,判断根据所述网络协议发起的数据请求是否为免流请求,包括:创建应用的uid白名单;当所述uid白名单包括发起所述数据请求的应用的uid时,判断所述数据请求为免流请求。

在本发明一个或者多个实施例中,当所述数据请求为免流请求时,为所述数据请求添加免流标识,所述免流标识至少包括:电话号码、时间戳、以及操作系统类型;所述免流标识的格式包括:请求格式、响应成功格式以及响应失败格式。

在本发明一个或者多个实施例中,所述方法还包括:当所述网络协议为http协议时,判断根据所述网络协议发起的数据请求是否为免流请求;当根据所述网络协议发起的数据请求为免流请求时,将所述数据请求发送给免流服务器;当根据所述网络协议发起的数据请求为非免流请求时,将所述数据请求发送到外网。

另一方面,本发明实施例还公开一种代理网络协议的装置,包括:网络端口模块,用于请求网络协议的网络端口;将所述网络协议的网络端口,重定向到代理监听的网络端口;数据请求模块,用于通过所述代理监听的网络端口预读请求的数据,判断所述网络协议是否为非http协议,其中所述请求的数据根据所述网络协议传输;当所述网络协议为非http协议时,判断根据所述网络协议发起的数据请求是否为免流请求;发送模块,用于当根据所述网络协议发起的数据请求为免流请求时,将所述数据请求发送给免流服务器;当根据所述网络协议发起的数据请求为非免流请求时,将所述数据请求发送到外网。

另一方面,本发明实施例还公开一种代理网络协议的电子设备,包括:至少一个处理器,以及至少一个存储器;所述至少一个处理器与所述至少一个存储器通信连接;所述至少一个存储器存储有可被所述至少一个处理器执行的指令,以使所述至少一个处理器执行上述任意一种代理网络协议的方法。

另一方面,本发明实施例还公开一种非暂态计算机存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于执行上述任意一种代理网络协议的方法。

另一方面,本发明实施例还公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任意一种代理网络协议的方法。

与现有技术相比,本发明实施例主要有以下有益效果:

本发明实施例,通过请求网络协议的网络端口,将所述网络协议的网络端口,重定向到代理监听的网络端口;通过所述代理监听的网络端口预读请求的数据,判断所述网络协议是否为非http协议,其中所述请求的数据根据所述网络协议传输。上述侦听机制,能够判断所述请求的数据是否根据非http协议协议传输。当所述网络协议为非http协议时,判断根据所述网络协议发起的数据请求是否为免流请求;当根据所述网络协议发起的数据请求为免流请求时,将所述数据请求发送给免流服务器;当根据所述网络协议发起的数据请求为非免流请求时,将所述数据请求发送到外网。据此,本发明实施例能够代理非http协议,并区分处理所述免流请求与所述非免流请求。综上所述,本发明实施例扩大了软件TinyProxy代理网络协议的范围,进而扩大了软件TinyProxy的应用范围。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。

图1为本发明一实施例中代理网络协议的方法的流程图;

图2为本发明又一实施例中代理网络协议的方法的流程图;

图3为本发明又一实施例中代理网络协议的示意图;

图4为本发明又一实施例中代理网络协议的装置的示意图;

图5为本发明又一实施例中代理网络协议的装置的示意图;

图6为本发明另一实施例中电子设备的硬件结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚而完整的描述。所描述的实施例是本发明一部分较佳的实施例,而不是全部可行的实施例。基于本发明具体实施方式中的各个实施例,本领域的任何技术人员在没有做出创造性劳动的前提下所获得的其他实施例,都应属于本发明保护的范围。

除非另有定义,本文所使用的所有技术和科学术语与本发明技术领域的技术人员通常理解的含义相同。本文中所使用的任何术语只是为了描述具体的实施例,并非旨在限制本发明的保护范围。

本文中涉及到的各种网络端口是软件意义上的网络端口。

参考图1,为本发明一实施例中代理网络协议的方法的流程图。本发明一实施例中代理网络协议的方法基于软件TinyProxy,应用于智能手机、平板电脑等电子设备。

所述代理网络协议的方法包括:

步骤101:请求网络协议的网络端口;将所述网络协议的网络端口,重定向到代理监听的网络端口。

步骤102:通过所述代理监听的网络端口预读请求的数据,判断所述网络协议是否为非http协议,其中所述请求的数据根据所述网络协议传输;当所述网络协议为非http协议时,判断根据所述网络协议发起的数据请求是否为免流请求。

步骤103:当根据所述网络协议发起的数据请求为免流请求时,将所述数据请求发送给免流服务器;当根据所述网络协议发起的数据请求为非免流请求时,将所述数据请求发送到外网。

上述代理网络协议的方法,通过请求网络协议的网络端口,将所述网络协议的网络端口,重定向到代理监听的网络端口;通过所述代理监听的网络端口预读请求的数据,判断所述网络协议是否为非http协议,其中所述请求的数据根据所述网络协议传输。上述侦听机制,能够判断所述请求的数据是否根据非http协议协议传输。当所述网络协议为非http协议时,判断根据所述网络协议发起的数据请求是否为免流请求;当根据所述网络协议发起的数据请求为免流请求时,将所述数据请求发送给免流服务器;当根据所述网络协议发起的数据请求为非免流请求时,将所述数据请求发送到外网。据此,本发明实施例能够代理非http协议,并区分处理所述免流请求与所述非免流请求。综上所述,本发明一实施例中所述代理网络协议的方法,扩大了软件TinyProxy代理网络协议的范围,进而扩大了软件TinyProxy的应用范围。

参考图2,为本发明又一实施例中代理网络协议的方法的流程图。本发明又一实施例中代理网络协议的方法基于软件TinyProxy,应用于智能手机、平板电脑等电子设备。

所述代理网络协议的方法包括:

步骤201:请求网络协议的网络端口;使用防火墙将所述网络协议的网络端口,重定向到代理监听的网络端口。

步骤202:通过所述代理监听的网络端口预读请求的数据,按空格拆分所述请求的数据;当所述请求的数据不能按空格拆分为2或3个数据段时,判断所述网络协议为非http协议。

步骤203:当所述网络协议的网络端口为预设的https协议网络端口时,判断所述非http协议为https协议;当所述网络协议的网络端口为预设的rtmp协议网络端口时,判断所述非http协议为rtmp协议。

步骤204:创建应用的uid白名单;当所述uid白名单包括发起所述数据请求的应用的uid时,判断所述数据请求为免流请求。

步骤205:当所述数据请求为免流请求时,为所述数据请求添加免流标识,至少包括:电话号码、时间戳、操作系统类型;所述免流标识的格式包括:请求格式、响应成功格式以及响应失败格式。

步骤206:当根据所述网络协议发起的数据请求为免流请求时,将所述数据请求发送给免流服务器;当根据所述网络协议发起的数据请求为非免流请求时,将所述数据请求发送到外网。

在本发明的一些实施例中,所述代理网络协议的方法还包括:当所述网络协议为http协议时,判断根据所述网络协议发起的数据请求是否为免流请求;当根据所述网络协议发起的数据请求为免流请求时,将所述数据请求发送给免流服务器;当根据所述网络协议发起的数据请求为非免流请求时,将所述数据请求发送到外网。

下面将举例对本发明本发明又一实施例中所述代理网络协议的方法作进一说明。

参考图3,为本发明的第二实施例所述代理网络协议的示意图。

所述终端的某个应用(APP)需要通过互联网请求数据时,请求网络协议的网络端口。所述终端使用防火墙将所述网络协议的网络端口,重定向到代理监听的网络端口。所述代理监听的网络端口即所述软件TinyProxy代理网络协议的网络端口。假定所述代理监听的网络端口为8888。

所述终端通过所述代理监听的网络端口预读应用请求的数据,按空格拆分所述请求的数据。当所述请求的数据不能按空格拆分为2或3个数据段时,所述网络协议为非http协议。

假定预设的https协议网络端口为443。假定预设的rtmp协议网络端口为:1935。当所述网络协议的网络端口为443时,判断所述非http协议为https协议。当所述网络协议的网络端口为1935时,判断所述非http协议为rtmp协议。

所述终端创建应用的uid白名单。当所述uid白名单包括发起所述数据请求的应用的uid时,判断所述数据请求为免流请求。

当所述数据请求为免流请求时,所述终端为所述数据请求添加免流标识。

当所述终端的应用根据所述网络协议(包括http协议和非http协议)发起的数据请求为免流请求时,将所述数据请求发送给免流服务器;当根据所述网络协议发起的数据请求为非免流请求时,将所述数据请求发送到外网。

上述代理网络协议的方法,通过请求网络协议的网络端口,使用防火墙将所述网络协议的网络端口,重定向到代理监听的网络端口。通过所述代理监听的网络端口预读请求的数据,按空格拆分所述请求的数据;当所述请求的数据不能按空格拆分为2或3个数据段时,判断所述网络协议为非http协议。上述侦听机制,能够判断所述请求的数据是否根据非http协议协议传输。创建应用的uid白名单;当所述uid白名单包括发起所述数据请求的应用的uid时,判断所述数据请求为免流请求。当所述数据请求为免流请求时,为所述数据请求添加免流标识。当根据所述网络协议(包括http协议和非http协议)发起的数据请求为免流请求时,将所述数据请求发送给免流服务器。当根据所述网络协议(包括http协议和非http协议)发起的数据请求为非免流请求时,将所述数据请求发送到外网。据此,本发明实施例能够代理非http协议,并区分处理所述免流请求与所述非免流请求。综上所述,本发明又一实施例中所述代理网络协议的方法,扩大了软件TinyProxy代理网络协议的范围,进而扩大了软件TinyProxy的应用范围。

参考图4,为本发明又一实施例中代理网络协议的装置的示意图。

本发明又一实施例中代理网络协议的装置包括:

网络端口模块1,用于请求网络协议的网络端口;将所述网络协议的网络端口,重定向到代理监听的网络端口。

数据请求模块2,用于通过所述代理监听的网络端口预读请求的数据,判断所述网络协议是否为非http协议,其中所述请求的数据根据所述网络协议传输;当所述网络协议为非http协议时,判断根据所述网络协议发起的数据请求是否为免流请求。

发送模块3,用于当根据所述网络协议发起的数据请求为免流请求时,将所述数据请求发送给免流服务器;当根据所述网络协议发起的数据请求为非免流请求时,将所述数据请求发送到外网。

上述代理网络协议的装置通过网络端口模块1请求网络协议的网络端口,将所述网络协议的网络端口,重定向到代理监听的网络端口。所述数据请求模块2通过所述代理监听的网络端口预读请求的数据,判断所述网络协议是否为非http协议,其中所述请求的数据根据所述网络协议传输;当所述网络协议为非http协议时,判断根据所述网络协议发起的数据请求是否为免流请求。所述代理网络协议的装置的上述侦听机制,能够判断所述请求的数据是否根据非http协议协议传输。通过发送模块3,当根据所述网络协议发起的数据请求为免流请求时,将所述数据请求发送给免流服务器;当根据所述网络协议发起的数据请求为非免流请求时,将所述数据请求发送到外网。据此,本发明实施例所述代理网络协议的装置能够代理非http协议,并区分处理所述免流请求与所述非免流请求。综上所述,本发明又一实施例中所述代理网络协议的装置,扩大了软件TinyProxy代理网络协议的范围,进而扩大了软件TinyProxy的应用范围。

参考图5,为本发明又一实施例中代理网络协议的装置的示意图。

本发明又一实施例中代理网络协议的装置包括:

网络端口模块10,用于使用防火墙将所述网络协议的网络端口,重定向到代理监听的网络端口。

数据请求模块20,用于通过所述代理监听的网络端口预读请求的数据,按空格拆分所述请求的数据;当所述请求的数据不能按空格拆分为2或3个数据段时,判断所述网络协议为非http协议;当所述网络协议为非http协议时,判断根据所述网络协议发起的数据请求是否为免流请求。

在本发明的一些实施例中,所述数据请求模块20,还用于当所述网络协议的网络端口为预设的https协议网络端口时,判断所述非http协议为https协议;当所述网络协议的网络端口为预设的rtmp协议网络端口时,判断所述非http协议为rtmp协议。

在本发明的一些实施例中,当所述网络协议为非http协议时,所述数据请求模块20判断根据所述网络协议发起的数据请求是否为免流请求,包括:创建应用的uid白名单;当所述uid白名单包括发起所述数据请求的应用的uid,判断所述数据请求为免流请求。

免流标识添加模块30,用于当所述数据请求为免流请求时,为所述数据请求添加免流标识,至少包括:电话号码、时间戳、操作系统类型;所述免流标识的格式包括:请求格式、响应成功格式以及响应失败格式。

发送模块40,用于当根据所述网络协议(包括http协议和非http协议)发起的数据请求为免流请求时,将所述数据请求发送给免流服务器;当根据所述网络协议发起的数据请求为非免流请求时,将所述数据请求发送到外网。

上述述代理网络协议的装置,通过所述网络端口模块10使用防火墙将所述网络协议的网络端口,重定向到代理监听的网络端口。所述数据请求模块20通过所述代理监听的网络端口预读请求的数据,按空格拆分所述请求的数据;当所述请求的数据不能按空格拆分为2或3个数据段时,判断所述网络协议为非http协议;当所述网络协议为非http协议时,判断根据所述网络协议发起的数据请求是否为免流请求。所述代理网络协议的装置的上述侦听机制,能够判断所述请求的数据是否根据非http协议协议传输。当所述网络协议为非http协议时,通过所述数据请求模块20判断根据所述网络协议发起的数据请求是否为免流请求。当所述数据请求为免流请求时,通过所述免流标识添加模块30为所述数据请求添加免流标识。当根据所述网络协议发起的数据请求为免流请求时,通过所述发送模块40将所述数据请求发送给免流服务器;当根据所述网络协议发起的数据请求为非免流请求时,通过所述发送模块40将所述数据请求发送到外网。据此,本发明实施例所述代理网络协议的装置能够代理非http协议,并区分处理所述免流请求与所述非免流请求。综上所述,本发明又一实施例中代理网络协议的装置,扩大了软件TinyProxy代理网络协议的范围,进而扩大了软件TinyProxy的应用范围。

本发明又一实施例公开一种非暂态计算机存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于执行上述任意方法实施例中的方法。

本发明又一实施例所述的非暂态计算机存储介质通过执行上述任意方法实施例中的方法,扩大了软件TinyProxy代理网络协议的范围,进而扩大了软件TinyProxy的应用范围。

参考图6,为本发明另一实施例中电子设备的硬件结构示意图。本发明另一实施例中公开的电子设备包括:一个或多个处理器610以及存储器620。以一个处理器610为例。该设备还可以包括:输入装置630和输出装置640。

处理器610、存储器620、输入装置630和输出装置640可以通过总线或者其他方式连接,图6中以通过总线连接为例。

存储器620作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序等。处理器610通过运行存储在存储器中的非暂态软件程序、指令,从而执行电子设备的各种功能应用以及数据处理。

存储器620可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储数据等。此外,存储器620可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器620可选包括相对于处理器610远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置630可接收输入的数字或字符信息,以及产生信号输入。输出装置640可包括显示屏等显示设备。

所述一个或者多个处理器610运行存储在存储器620中的非暂态软件程序、指令,执行上述任意方法实施例中的任意一种方法。

本发明另一实施例中所述的电子设备,扩大了软件TinyProxy代理网络协议的范围,进而扩大了软件TinyProxy的应用范围。

本发明另一实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任意方法实施例中的方法。

本发明另一实施例公开的计算机程序产品通过执行上述任意方法实施例中的方法,扩大了软件TinyProxy代理网络协议的范围,进而扩大了软件TinyProxy的应用范围。

本领域普通技术人员应当理解到,上述实施例中的代理网络协议的装置、代理网络协议的电子设备、非暂态计算机存储介质等还可以通过其他方式实现。

当使用到软件实现时,可以将实现上述各个实施例的计算机指令和/或数据存储在计算机可读介质中或作为可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存储的任何可用介质。以此为例但不限于次:计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。此外,任何连接可以适当的成为计算机可读介质。例如,如果软件是使用同轴电缆、光钎光缆、双绞线、数字用户线(DSL)或者诸如红外线、无线电和微波之类的无线技术从网站、服务器或者其他远程源传输的,那么同轴电缆、光钎光缆、双绞线、DSL或者诸如红外线、无线和微波之类的无线技术包括在所属介质的定义中。

通过以上所有的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备执行各个实施例或者实施例的某些部分所述的方法。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

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