本发明涉及一种代理服务方法及服务器和系统,尤其是一种Http(超文本传输协议)代理服务方法及服务器和系统。
背景技术:
现有的Http代理服务主要依靠为Http请求方提供固定的IP地址,实现Http请求的代理服务,这种方式不利于隐藏和保护Http请求方的IP地址,而且固定IP地址的资源有限,无法实现Http请求的快速处理。
技术实现要素:
本发明要解决的主要技术问题是:现有技术中Http代理服务出口IP都是固定IP地址(Internet Protocol Address,网际协议地址),并且IP地址的数量有限,无法达到真正隐藏保护Http请求方IP地址的目的。为了克服现有技术中不能有效的隐藏保护Http请求方的IP地址的缺陷,提供了一种Http代理服务方法及Http代理服务器和Http代理服务系统,通过利用Http队列隔离了Http请求的IP地址与实际执行访问的IP地址,从而实现了隐藏和保护发起Http请求的IP的目的。
本发明是通过下述技术方案来解决上述技术问题的:
本发明提供了一种Http代理服务方法,其特点是,所述Http代理服务方法包括以下步骤:
获取Http请求,并放入代理请求队列;
代理请求队列获取网络出口IP地址;
代理请求队列按照队列顺序依次执行Http请求,并将请求结果反馈至对应于该Http请求的IP地址。
本发明中利用Http队列隔离了Http请求的IP地址与实际执行访问的IP地址,从而实现了隐藏和保护发起Http请求的IP的目的。
较佳地,所述网络出口IP地址定期更新。
较佳地,所述网络出口IP地址为ADSL网络(Asymmetric Digital Subscriber Line,非对称数字用户线路)IP地址。
本发明还提供了一种Http代理服务器,其特点是,所述Http代理服务器包括:代理请求队列、请求接口、队列消息获取接口和队列消息回写接口;
其中所述请求接口获取Http请求并写入所述代理请求队列;
所述队列消息获取接口按照队列顺序依次从所述代理请求队列获取Http请求,并通过获得的网络出口IP地址推送执行所述Http请求;
所述队列消息回写接口获取执行所述Http请求获得的请求结果,并反馈至所述代理请求队列;
所述代理请求队列通过所述请求接口将所述请求结果推送至于对应于Http请求的IP地址。
本发明的Http代理服务器隔绝了Http请求方与实际请求执行的网络,从而实现对Http请求方IP地址的保护。
较佳地,所述请求接口通过TCP协议(Transmission Control Protocol,传输控制协议)获取Http请求;所述请求接口还通过TCP协议反馈请求结果。
较佳地,所述队列消息获取接口通过TCP协议推送执行Http请求;所述队列消息回写接口通过TCP协议获取请求结果。
本发明还提供了一种Http代理服务系统,其特点是,所述Http代理服务系统包括:代理服务端、调用端和请求处理端;
其中所述调用端分别生成Http请求并写入所述代理服务端的代理请求队列;
所述代理请求队列按照队列顺序依次推送所述Http请求至所述请求处理端;
所述请求处理端从网络获取IP地址,并基于所述IP地址执行所述Http请求获得请求结果,并反馈所述请求结果至所述代理请求队列;
所述代理请求队列将所述请求结果分别推送至发送所述Http请求的调用端。
本发明的Http代理服务系统中调用端和请求处理端可以使用不同的IP地址,从而在实现调用端IP地址的保护的同时,达到了请求处理端IP地址的随机变化。
较佳地,所述代理服务端和所述调用端之间以及所述代理服务端和所述请求处理端基于TCP协议通信传输。
优选地,所述网络为ADSL网络。
目前,ADSL网络中没有固定IP地址,所以对于ADSL网络无法用来提供Http代理服务,而采用本发明的Http代理服务系统和方法就可以在ADSL网络中实现Http代理服务。
在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本发明各较佳实例。
本发明的积极进步效果在于:
本发明通过Http队列隔离了Http请求的IP地址与实际执行访问的IP地址,从而实现了隐藏和保护发起Http请求的IP的目的。也就是说,在调用端和请求处理端之间可以使用不同的IP地址,从而在实现调用端IP地址的保护,同时请求处理端的IP地址能够随机变化,实现动态IP资源的有效利用。
附图说明
图1为本发明的实施例1的Http代理服务系统的结构示意图。
图2为本发明的实施例2的Http代理服务器的结构示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
本发明为了实现调用端IP地址的保护,同时实现请求处理端的动态IP资源的有效利用,通过隔离了Http请求的IP地址与实际执行访问的IP地址,并动态分配实际访问的IP地址实现了上述隐藏隔离用户IP地址的同时实现出口IP地址的随机变化。
下面通过下述实施例来对本发明进行进一步地详细地说明。
实施例1
如图1所示,本实施例的Http代理服务系统代理服务端1、调用端2和请求处理端3,其中本实施例的Http代理服务系统Http代理服务方法流程如下:
步骤1,各个调用端2将Http请求发送到代理服务端1。
步骤2,代理服务端1接收到Http请求,将请求放入请求队列(图中未显示)中。
步骤3,各个请求处理端3分别获取到Http请求,并转发Http请求,并获取到Http请求结果。
步骤4,请求处理端3将Http请求结果发送回代理服务端1。
步骤5,代理服务端1将Http请求结果分别反馈至各个调用端2。
其中调用端2和请求处理端3的数量可以是任意数量,本实施例及其附图并不限制调用端2和请求处理端3的数量。
举例来说,对于单个调用端和请求处理端而言,Http代理服务系统工作原理如下:
首先,调用端2的IP地址为1.2.3.4,调用端2希望访问http://www.ctrip.com。
调用端2将希望访问http://www.ctrip.com的请求通过TCP协议发送给代理服务端1。
代理服务端1接收到此请求后,将请求内容放入系统内存中的队列中,等待请求处理端3获取处理。
请求处理端3使用ADSL网络,可以控制重拨ADSL网络,每次重拨后,网络出口IP地址都会变化。假设本次重拨后,网络出口的IP地址为6.7.8.9。通过这种方式可以实现在实际访问处的动态IP地址分配,能够更有效的利用动态IP资源。
其中请求处理端3定期重拨ADSL网络,例如重拨后,原来的IP地址6.7.8.9会变化,比如变化为9.8.7.6,再次重拨后又会变化成其他的IP地址,从而达到了代理出口IP地址的随机变化。
请求处理端3通过TCP协议从代理服务端1获取到队列中的访问请求(即访问http://www.ctrip.com的请求)。
请求处理端3访问http://www.ctrip.com,此时ctrip.com服务器接收到请求的IP地址为6.7.8.9,而不是1.2.3.4,所以达到了隐藏、保护调用端2的IP地址的目的。
请求处理端3将结果通过TCP协议返回到代理服务端1。然后代理服务端1将请求结果通过TCP协议反馈至调用端2。
调用端2接收到http://www.ctrip.com的返回内容,本地调用结束,用户实现Http访问请求。
实施例2
如图2所示,本实施例的Http代理服务器包括代理请求队列11、请求接口12、队列消息获取接口13和队列消息回写接口14,其中请求接口12通过TCP协议获取Http请求并写入代理请求队列11。
然后队列消息获取接口13按照队列顺序依次从代理请求队列11获取Http请求,并通过获得的网络出口IP地址按照TCP协议推送执行所述Http请求。
在外部的处理单元处理完成所述Http请求后,队列消息回写接口14通过TCP协议获取执行所述Http请求获得的请求结果,并反馈至代理请求队列11。
此后,代理请求队列11通过请求接口12按照TCP协议将所述请求结果推送至于对应于Http请求的IP地址所对应的用户处。
本实施例也可以替代实施例1中代理服务端实现调用端和请求处理端之间请求和请求结果的传输和转送。
通过以上的Http代理服务方法以及系统的具体实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请的Http代理服务流程可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,所述计算机软件产品可以存储在存储介质中,如ROM/RAM(只读存储器/随机存取存储器)、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请实施例或者实施例的某些部分所述的方法。
本申请可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC(个人电脑)、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。