CN105376107B - 终端测试方法和代理服务器 - Google Patents

终端测试方法和代理服务器 Download PDF

Info

Publication number
CN105376107B
CN105376107B CN201410438024.5A CN201410438024A CN105376107B CN 105376107 B CN105376107 B CN 105376107B CN 201410438024 A CN201410438024 A CN 201410438024A CN 105376107 B CN105376107 B CN 105376107B
Authority
CN
China
Prior art keywords
proxy server
port
address
identifier
application server
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.)
Active
Application number
CN201410438024.5A
Other languages
English (en)
Other versions
CN105376107A (zh
Inventor
胡鹏
于维军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201410438024.5A priority Critical patent/CN105376107B/zh
Publication of CN105376107A publication Critical patent/CN105376107A/zh
Application granted granted Critical
Publication of CN105376107B publication Critical patent/CN105376107B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种终端测试方法和代理服务器。其中,该方法包括:代理服务器接收终端发送的用于访问应用服务器的请求消息,其中,请求消息包括:第一标识和第二标识,第一标识用于指示应用服务器的IP地址和第一端口,第二标识用于指示代理服务器的第二端口;代理服务器从请求消息中获取第一标识和第二标识;以及代理服务器通过第二标识所指示的第二端口将请求消息中的请求数据发送至地址为IP地址的应用服务器上的第一端口。通过本发明,解决了在终端上为每个网络环境配置相应的域名和IP地址之间的映射关系导致的测试复杂度较高的技术问题。

Description

终端测试方法和代理服务器
技术领域
本发明涉及应用程序测试领域,具体而言,涉及一种终端测试方法和代理服务器。
背景技术
终端应用程序在上线使用之前,需要进行测试以保证终端应用程序在使用过程中安全稳定运行。终端应用程序从开发到上线,需要经历不同的网络环境进行应用程序测试,例如,在开发阶段需要开发环境进行测试,测试阶段需要测试环境进行测试,体验阶段需要体验环境进行测试等。
为了保证终端应用程序在每个网络环境中都能稳定运行,在终端应用程序处于上述每个网络环境时都进行测试,这就需要进行网络环境的切换。现有技术进行网络环境测试时,通常采用以下方式:
S1:将电脑接入网络,并开启电脑上的软件的代理服务器,设置一个默认的代理端口号;
S2:将安装有应用程序的终端也接入到电脑所在的网络中,并在该终端上设置代理IP地址和代理端口号,代理IP地址即电脑的IP地址,端口号即为电脑的默认的代理端口号;
S3:在将电脑和终端都配置好之后,终端的访问会通过电脑的代理端口,通过在电脑上配置和修改转发终端的请求的规则,使得终端能够访问多个网络环境。
然而,由于作为代理的电脑和进行测试的终端需要接入同一个网络,在搭建网络的时候,对于无法连接无线网络的电脑,需要采购无线网卡,增加了测试设备的成本。
此外,通过上述的配置过程可知,在对于某一网络环境进行测试时,需要为终端配置该网络环境对应的Host文件,其中,该Host文件包括:域名和IP地址之间的映射关系,而该Host文件在被配置后无法更改。这样,当对不同的网络环境进行测试时,需要在终端上为每个网络环境分别配置相应的域名和IP地址之间的映射关系,从而增加了配置的复杂度。
针对上述在终端上为每个网络环境配置相应的域名和IP地址之间的映射关系导致的测试复杂度较高的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种终端测试方法和代理服务器,以至少解决在终端上为每个网络环境配置相应的域名和IP地址之间的映射关系导致的测试复杂度较高的技术问题。
根据本发明实施例的一个方面,提供了一种终端测试方法。该终端测试方法包括:代理服务器接收终端发送的用于访问应用服务器的请求消息,其中,所述请求消息包括:第一标识和第二标识,所述第一标识用于指示所述应用服务器的IP地址和第一端口,所述第二标识用于指示所述代理服务器的第二端口;所述代理服务器从所述请求消息中获取所述第一标识和所述第二标识;以及所述代理服务器通过所述第二标识所指示的所述第二端口将所述请求消息中的请求数据发送至地址为所述IP地址的所述应用服务器上的所述第一端口。
根据本发明实施例的另一方面,还提供了一种代理服务器。该代理服务器包括:接收单元,用于接收终端发送的用于访问应用服务器的请求消息,其中,所述请求消息包括:第一标识和第二标识,所述第一标识用于指示所述应用服务器的IP地址和第一端口,所所述第二标识用于指示所述代理服务器的第二端口;第一获取单元,用于从所述请求消息中获取所述第一标识和所述第二标识;以及发送单元,用于通过所述第二标识所指示的所述第二端口将所述请求消息中的请求数据发送至地址为所述IP地址的所述应用服务器上的所述第一端口。
在本发明实施例中,通过终端向代理服务器发送用于指示代理服务器的端口的标识,使得代理服务器可以根据终端设置的端口将终端发送的用于访问应用服务器的请求信息中的请求数据发送给应用服务器。这样,终端可以通过其设置的代理服务器上不同的端口来访问不同网络环境下的应用服务器,从而解决了在终端上为每个网络环境配置相应的域名和IP地址之间的映射关系导致的测试复杂度较高的技术问题,进而达到了降低测试复杂度的技术效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的硬件环境的示意图;
图2是根据本发明实施例的终端测试方法的流程图;
图3是根据本发明优选实施例的终端测试方法的流程图;
图4是根据本发明实施例的终端界面的示意图;
图5是根据本发明实施例的代理服务器的示意图;以及
图6是根据本发明实施例的代理服务器的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
术语介绍:
代理服务器,代理服务器(Proxy Server)可以提供对网络信息的中转的功能,主要是发送请求者的请求到服务器,获取服务器的响应内容,并将响应内容发回请求者。
终端:本发明实施例中主要指智能手机、平板、笔记本等设备。
Wifi:无线网络(Wi-Fi),用来支持终端以无线连接方式上网。
端口:端口(Port)也就是服务器与外部通信的出口。
域名:域名(Domain Name)是由一串用点分隔的名字组成的因特网上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位,可对应到一个或多个IP地址等。一个域名的目的是便于记忆和沟通一组服务器的地址。
网络环境:分布在不同地点的多个计算机物理上互联,依据某种协议互相通信,实现软硬件及其网络共享的***,本发明实施例中的网络环境可以指局域网环境或者广域网环境,而局域网环境或者广域网环境中还可以包括测试环境、开发环境、体验环境和正式环境中的一种或多种。
实施例1
根据本发明实施例,提供了一种可以通过本申请装置实施例执行的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
根据本发明实施例,提供了一种终端测试方法。可选地,在本实施例中,上述终端测试方法可以应用于如图1所示的终端101、代理服务器102、第一应用服务器103和第二应用服务器104构成的硬件环境中。如图1所示,终端101通过网络与代理服务器102进行连接,代理服务器102通过网络分别于第一应用服务器103和第二应用服务器104进行连接,即终端101通过代理服务器102的数据发送与第一应用服务器103或第二应用服务器104进行连接。上述网络包括但不限于:局域网或者多个局域网,终端101可以是但不限于手机、PC、笔记本或平板电脑。
图2是根据本发明实施例的一种终端测试方法的流程图。如图所示,该终端测试方法包括如下步骤S202至步骤S206:
步骤S202,代理服务器102接收终端101发送的用于访问应用服务器103的请求消息,其中,请求消息包括:第一标识和第二标识,第一标识用于指示应用服务器的IP地址和第一端口,第二标识用于指示代理服务器的第二端口。
步骤S204,代理服务器102从请求消息中获取第一标识和第二标识。
步骤S206,代理服务器102通过第二标识所指示的第二端口将请求消息中的请求数据发送至地址为IP地址的应用服务器上的第一端口。
终端上的应用程序在不同的阶段处于不同的网络环境,为了在不同阶段测试终端上应用程序,需要让终端处于相应的网络环境中进行测试。例如,在应用程序的开发阶段,需要让终端处于开发环境;在应用程序的体验阶段,需要让终端处于体验环境。网络环境可以是局域网或者广域网,在应用程序的开发阶段由于需要测试应用程序的开发程序的正确性,可能需要终端处于局域网的网络环境内进行开发过程的相关测试;在应用程序的体验阶段,就需要终端处于广域网的网络环境内以模拟用户使用该应用程序,以发现应用程序在使用过程中的问题来对应用程序进行优化。
为了满足终端访问不同网络环境的要求,通过代理服务器接收终端发送的访问应用服务器的请求信息。在该请求中携带有指示应用服务器的位置的第一标识,还携带有指示代理服务器的端口的第二标识。
代理服务器根据第一标识能够知道将该终端的请求访问的应用服务器的地址,并根据第二标识知道代理服务器发送该请求信息的端口。
代理服务器上可以配置多个端口,每个端口对应于不同的网络环境,如图1所示,代理服务器102与第一应用服务器103连接,同时,代理服务器102还与第二应用服务器104连接,第一应用服务器103可以由一个或者多个服务器构成,可选地,第一应用服务器103中的多个服务器可以位于同一个局域网中;第二应用服务器104也可以由一个或者多个服务器构成,第二应用服务器104中的一个或多个服务器可以位于同一个广域网中。代理服务器102可以通过一个端口与第一应用服务器103连接,那么通过该端口的请求信息都会被代理服务器102发送到第一应用服务器103上,代理服务器102可以通过另外一个端口与第二应用服务器104连接,那么通过该端口的请求信息都会被代理服务器102发送到第二应用服务器104上。
以下以第一标识为应用服务器103的域名为例来描述本实施例中的方案,需要说明的是,本实施例中的第一标识不仅限于应用服务器103的域名,还可以是但不限于应用服务器103的IP地址。
在本实施例中,第二标识为代理服务器102的第二端口,以下参考表1对本实施例的终端测试方法进行说明。
表1代理服务器上配置的映射关系
Figure BDA0000562686500000071
第一标识可以是应用服务器的域名,如表1所示的imgcache.qq.com,第一标识还可以是应用服务器的初始IP地址。本实施例以第一标识为imgcache.qq.com为例进行说明。
第二标识是代理服务器的端口号,如表1所示代理服务器的端口号可以是8888,或者6660。
如表1所示,应用服务器103所处的网络环境可以为测试环境或者开发环境,在应用服务器103处于测试环境时,代理服务器的IP地址为113.108.17.145,端口号为8888;在应用服务器103处于开发环境时,代理服务器IP地址为113.108.17.145,端口号为6660。本实施例以代理服务器的IP地址为113.108.17.145,端口号为8888为例来描述本实施例中的技术方案。
例如,代理服务器102接收终端101的请求信息,其中,请求信息中携带有第一标识和第二标识,第一标识为应用服务器的域名imgcache.qq.com,应用服务器的第一端口的端口号为80,第二标识为代理服务器的端口号8888。终端101要访问的代理服务器的端口号为8888,代理服务器通过端口号为8888的端口输出的请求数据将要发往的应用服务器103所处的测试环境中。
例如,代理服务器102接收终端101的请求信息,其中,请求信息中携带有第一标识和第二标识,第一标识为应用服务器的初始IP地址为172.25.32.202,应用服务器的第一端口的端口号为80,第二标识为代理服务器的端口号6660。终端101要访问的代理服务器的端口号为6660,代理服务器通过端口号为6660的端口输出的请求数据将要发往的应用服务器103所处的测试环境中。
代理服务器知道发送请求消息中的请求数据的端口为第二端口,以及请求消息所请求的应用服务器的IP地址和第一端口,则代理服务器按照第一标识和第二标识中的信息将请求信息中的请求数据发送到地址为第一标识中的IP地址的应用服务器上的第一端口。
通过上述实施例,通过终端向代理服务器发送用于指示代理服务器的端口的标识,使得代理服务器可以根据终端设置的端口将终端发送的用于访问应用服务器的请求信息中的请求数据发送给应用服务器。这样,终端可以通过其设置的代理服务器上不同的端口来访问不同网络环境下的应用服务器,从而解决了在终端上为每个网络环境配置相应的域名和IP地址之间的映射关系导致的测试复杂度较高的技术问题,进而达到了降低测试复杂度的技术效果。
优选地,代理服务器根据第一标识和第二标识得到应用服务器在预定网络下的IP地址和第一端口的端口号,其中,第二标识还用于指示应用服务器所处的预定网络;代理服务器通过第二端口将请求数据发送至地址为IP地址的应用服务器上的第一端口。
终端将第二标识发送给代理服务器,第二标识能够指示应用服务器所处的预定网络,即将代理服务器的端口号作为指示应用服务器所处的预定网络的标识。第二标识指示了代理服务器的第二端口,第二端口能够指示应用服务器所处的预定网络,通过代理服务器的不同端口输出请求数据到不同的网络中,代理服务器根据终端发送的第二标识中的代理服务器的端口号确定处于预定网络中的应用服务器的IP地址和第一端口的端口号。
此时代理服务器的端口号作为预定网络的标识,通过某个端口号对应的端口输出的请求数据就会被输出至预定网络中,即通过端口号就能区分不同的网络。终端通过告知代理服务器输出请求数据的代理服务器的端口号,就能连接到该端口号对应的网络中,也就是说,终端通过向代理服务器发送不同的代理服务器的端口号就能访问不同的网络,从而实现不同网络的切换。
如表1所示,测试环境对应的代理服务器的端口号为8888,开发环境对应的代理服务器的端口号为6660。终端101发送的请求信息中携带的代理服务器的端口号为8888,则代理服务器102通过端口号为8888的端口将终端101的请求数据发送给应用服务器,终端101请求访问的应用服务器的域名为imgcache.qq.com,而该域名对应的代理服务器的IP地址为10.130.24.31:80,则代理服务器102将终端的请求数据通过端口号为8888的端口发送到IP地址为10.130.24.31的应用服务器103,该应用服务器103处于测试环境中。
终端通过告知代理服务器发送请求数据的端口号,代理服务器通过终端发送的端口号对应的端口发送请求数据,从而终端能够与处于端口号对应的网络环境中的应用服务器的建立连接。在终端只需将端口号发送给代理服务器,并不需要为每次测试都单独配置一套测试***,在代理服务器上配置一次即可,从而解决了现有技术中由于需要为每个网络环境搭建一套测试***所导致的测试复杂度较高的技术问题,进而达到了降低测试复杂度的技术效果。
优选地,代理服务器根据第一标识和第二标识得到应用服务器在预定网络下的IP地址和第一端口的端口号包括:代理服务器从为第二标识所指示的预定网络所预先配置的映射关系中获取与第一标识对应的预定网络下的IP地址和第一端口的端口号。
每个网络环境都对应一个预先配置的映射关系,如表1,网络环境与代理服务器的端口号具有映射关系,在每个网络环境下,还存在处于该网络环境下的应用服务器的域名到IP地址的映射关系。由于通过同一个域名请求的应用服务器在处于不同的网络下时,其在预定网络下的IP地址与处于其他网络下的IP地址不同,因此,同一个应用服务器的域名可能对应IP地址。如表1,域名为imgcache.qq.com的应用服务器,在测试环境中映射的IP地址为10.130.24.31,但是在开发环境中映射的IP地址为10.185.20.211。代理服务器根据第二标识所指示的预定网络锁预先设置的映射关系中能够获取处于预定网络中的应用服务器的IP地址和第一端口的端口号。
在本实施例中,第二标识为代理服务器的端口号为6660,第一标识为应用服务器的域名imgcache.qq.com,端口号6660对应的网络环境为开发环境,在开发环境对应的预先配置的映射关系中,域名imgcache.qq.com映射的IP地址为10.185.20.211,第一端口的端口号为80。
优选地,第一标识包括应用服务器的网络域名或应用服务器的初始IP地址,代理服务器在预先配置映射关系中查找是否存在第二标识所指示的预定网络下的映射关系,其中,代理服务器中预先存储有一个网络或至少两个不同网络下的映射关系,每个网络下的映射关系包括以下至少之一:网络域名与IP地址和端口号之间的映射关系,IP地址与IP地址和端口号之间的映射关系;若查找到在第二标识所指示的预定网络下的映射关系,则代理服务器在第二标识所指示的预定网络下的映射关系中查找并向代理服务器发送与第一标识中包括的网络域名或初始IP地址对应的预定网络下的IP地址和第一端口的端口号。
如果第一标识请求的是网络域名,则代理服务器在映射关系中查找网络域名与应用服务器的IP地址和第一端口的端口号之间的映射关系;如果存在第二标识指示的预定网络下映射关系,并且第一标识请求是初始IP地址,则代理服务器在映射关系中查找初始IP地址与应用服务器的IP地址和第一端口的端口号之间的映射关系。
例如,第二标识是代理服务器的端口号。代理服务器根据应用服务器的网络域名或者初始IP地址查找应用服务器在预定网络下的IP地址和第一端口的端口号,代理服务器将终端的请求数据发送给地址为代理服务器查找的IP地址所对应的应用服务器的第一端口号所对应的端口。
代理服务器上预先配置的映射关系可以如表1所示。
如表1所示,以网络环境为测试环境和开发环境为例,测试环境下代理服务器通过端口号为8888的端口发送请求数据;开发环境下代理服务器通过端口号为6660的端口发送请求数据。第二标识可以是代理服务器的端口号,不同的端口号对应不同的网络。例如,开发环境对应的代理服务器的端口号为6660,测试环境对应的代理服务器的端口号为8888。终端可以根据需要的网络环境在请求消息中写入相应的代理服务器的端口号,代理服务器从请求信息中获取代理服务器的端口号之后从该端口号对应的端口发送请求数据。
具体地,代理服务器接收到终端发送的网络域名,如imgcache.qq.com,或者应用服务器的初始IP地址,如172.25.32.202。
代理服务器在接收到第一标识和第二标识后,代理服务器查找是否存在第二标识指示的预定网络下的映射关系。例如,第二标识为8888,则代理服务器在表1中查找端口号为8888对应的映射关系,即在测试环境中查找关于第一标识的映射关系。如果第一标识请求的是网络域名,则在测试环境中查找网络域名与应用服务器的IP地址和端口号之间的映射关系,如网络域名为i.gtimg.cn,其对应的IP地址为10.130.24.31,端口号为80。如果第一标识携带的是初始IP地址,第二标识携带的端口号是6660,则在开发环境中找到初始IP地址则在环境中无法找到该初始IP地址映射的应用服务器的IP地址172.25.32.202映射的应用服务器的IP地址为10.130.25.95,且应用服务器的端口号为8080。由于第一标识还可以携带应用服务器的端口号,除了常用的端口号80以外,还可以指定端口号,例如表1中,指定IP地址为172.25.32.202的端口号为8080。
在代理服务器根据第一标识和第二标识将终端发送的第一标识映射为应用服务器的IP地址和端口号之后,将终端的请求数据发送给根据映射得到的IP地址和端口号对应的应用服务器。例如,在应用程序的开发阶段,需要终端在开发环境中进行测试,开发环境对应的代理服务器的端口号为6660。终端在向代理服务器发送请求消息时,第一标识中携带有终端将要访问的应用服务器的域名为imgcache.qq.com,第二标识中携带有代理服务器的端口号为6660,则代理服务器根据第二标识中携带的端口号6660找到第一标识中应用服务器的域名对应的IP地址,由表1可以看出,在开发环境中域名imgcache.qq.com映射的IP地址为10.185.20.211,不同于测试环境中的IP地址10.130.24.31。代理服务器根据代理服务器映射得到的IP地址将终端的请求信息发送给该IP地址对应的应用服务器,即代理服务器将访问域名为imgcache.qq.com的应用服务器的请求数据发送给IP地址为10.185.20.211的应用服务器。该应用服务器处于开发环境中,因此,通过代理服务器的发送终端可以在开发环境中访问域名为imgcache.qq.com的应用服务器进行测试。如果开发环境和测试环境处于局域网中,而终端无法直接访问通过局域网访问应用服务器,则可以按照上述方式通过代理服务器的发送来访问局域网中的应用服务器。
为了进一步说明本发明实施例的终端测试方法,以下结合图1和表1进行说明。
终端101连接的代理服务器的IP地址为113.108.17.145,该代理服务器的两个端口的端口号分别为8888和6660,其中,通过端口号8888发送的请求数据被发送到第一应用服务器103中,通过端口号6660发送的请求数据被发送到第二应用服务器104中。其中,第一应用服务器103和第二应用服务器104均包括多个应用服务器,第一应用服务器103中的多个应用服务器的域名分别为imgcache.qq.com、i.gtimg.cn和p.qq.com,这三个域名对应的多个服务器处于测试环境中;第二应用服务器104中包括域名分别为imgcache.qq.com和i.gtimg.cn的应用服务器,还有IP地址为172.25.32.202的应用服务器,这三个应用服务器处于开发环境中。
如果终端携带的端口号为8888,则代理服务器根据端口号确定请求的域名i.gtimg.cn对应的应用程序的IP地址为10.130.24.31;如果终端携带的端口号为6660,则根据端口号确定请求的域名i.gtimg.cn对应的应用服务器的IP地址为10.185.20.211。代理服务器获取到应用服务器的IP地址和端口号之后,将请求数据发送到确定的IP地址对应的应用服务器的端口号对应的端口,从而建立起终端与应用服务器的连接以进行测试。
上述实施例,通过代理服务器上配置的代理服务器的端口号、应用服务器的IP地址和应用服务器的域名之间的映射关系,在代理服务器接收到终端发送的第二标识之后,代理服务器根据第二标识中的第二端口确定第一标识中的域名或者初始IP地址所对应的应用服务器的IP地址,代理服务器获取映射得到IP地址,将终端的请求数据发送到地址为该IP地址的应用服务器中。因为代理服务器中存在应用服务器的IP地址和代理服务器的端口号之间的映射关系,而代理服务器的端口对应不同的网络环境,所以在代理服务器能够根据端口号和域名查找到应用服务器的IP地址,并将终端的请求数据发送该IP地址对应的应用服务器,从而代理服务器能够根据终端的第二端口的端口号和用于指示应用服务器的地址的标识将终端连接到终端将要进行测试的网络环境中,无论是一个终端发送的多个不同的第二端口的端口号,还是多个终端发送的相同或者不同的第二端口的端口号,代理服务器均能将这些终端连接到终端请求的网络环境中,如果需要切换网络环境,只需要终端更改第二标识中的第二端口的端口号即可,无需更改代理服务器上的信息,因此,解决了在终端上为每个网络环境配置相应的域名和IP地址之间的映射关系导致的测试复杂度较高的技术问题,进而达到了降低测试复杂度的技术效果。
优选地,代理服务器接收终端发送的用于访问应用服务器的请求消息包括:代理服务器接收多个终端发送的用于访问应用服务器的请求消息;代理服务器通过多个线程发送多个终端发送的请求消息中的请求数据,其中,每一个线程用于发送一个终端发送的请求消息中的请求数据。
为了保证终端能够访问代理服务器,代理服务器的IP地址是终端能够访问的IP地址,也就是说终端能够通过网络访问代理服务器。
当代理服务器接收来多个终端发送的用于访问应用服务器的请求信息时,代理服务器可以通过多个线程同时处理来自终端的请求数据,每个线程发送一个汇总段发送的请求消息中的请求数据。由于代理服务器发送请求数据,对代理服务器本身的内存的消耗不会太大,因此,可以满足用多个线程同时发送来自终端的请求数据的要求。
通过上述实施例,利用多个线程处理来自终端的请求数据,可以满足多个终端进行测试环境切换的要求,提高了终端进行测试环境切换的效率。
优选地,在代理服务器接收终端发送的用于访问应用服务器的请求消息之后,终端测试方法还包括:代理服务器获取终端的IP地址和代理服务器允许终端访问的IP段;代理服务器判断终端的IP地址是否处于代理服务器允许访问的IP段内;以及若终端的IP地址处于代理服务器允许访问的IP段内,则代理服务器执行将请求数据发送至应用服务器上的第一端口的操作。
在接收到终端发送的用于访问应用服务器的请求消息之后,代理服务器获取终端的IP地址和代理服务器允许终端访问的IP段,如果请求与代理服务器进行连接的终端的IP地址处于代理服务器允许终端访问的IP段内,则代理服务器将请求数据发送至应用服务器上的第一端口。也就是说,在终端访问应用服务器之前,能够拦截允许访问应用程序的IP段之外的终端,以避免终端的恶意连接,从而保证了代理服务器以及应用服务器的安全性。
以下结合图3对本发明实施例的终端测试方法进行说明。该终端测试方法包括如下步骤:
步骤S301,代理服务器监听端口,即监听制定端口。
步骤S302,判断是否有新的请求,即有新请求。
步骤S303,如果终端请求通过该端口发送请求数据,则解析来自终端的请求,并获得终端将要访问的应用服务器的域名和端口号,即解析请求获得访问域名和端口。
步骤S304,判断请求信息中是否携带的请求信息是否为访问的应用服务器的IP地址,即是否直接IP访问。如果是,执行步骤S307,如果否,执行步骤S305。
步骤S305,如果终端的请求中携带的应用程序的地址为域名,则判断终端请求访问的应用服务器的域名是否为代理服务器能够访问的应用服务器的域名,即判断是否和预先设置的域名一致。如果是,则执行步骤S307。
步骤S306,如果终端的请求中携带的为应用服务器的域名和预先配置的域名不一致,获取域名对应的应用服务器IP地址和端口,并通过终端指示的端口发送终端的请求数据则直接通过终端指示的端口号对应的端口发送终端的请求,即获取域名对应的IP地址和端口转发请求。
步骤S307,如果终端的请求信息中携带应用服务器的IP地址,则直接转发请求。
终端可以通过如图4所示的界面将需要使用的代理服务器的端口号发送给代理服务器,可选地,终端还可以选择代理服务器的IP地址。终端在图4所示的界面中设置有代理服务器的IP地址113.108.17.145,代理服务器的端口号为6660。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
根据本发明实施例,还提供了一种用于实施上述终端测试方法的代理服务器,该代理服务器主要用于执行本发明实施例上述内容所提供的终端测试方法,以下对本发明实施例所提供的代理服务器做具体介绍:
图5是根据本发明实施例的代理服务器的示意图。如图所示,该代理服务器包括:接收单元10、第一获取单元30和发送单元50。
接收单元10用于接收终端发送的用于访问应用服务器的请求消息,其中,请求消息包括:第一标识和第二标识,第一标识用于指示应用服务器的IP地址和第一端口,第一端口为应用服务器的端口,第二标识用于指示第二端口,第二端口为代理服务器的端口。
第一获取单元30用于从请求消息中获取第一标识和第二标识。
发送单元50用于通过第二标识所指示的第二端口将请求消息中的请求数据发送至地址为IP地址的应用服务器上的第一端口。
终端上的应用程序在不同的阶段处于不同的网络环境,为了在不同阶段测试终端上应用程序,需要让终端处于相应的网络环境中进行测试。例如,在应用程序的开发阶段,需要让终端处于开发环境;在应用程序的体验阶段,需要让终端处于体验环境。网络环境可以是局域网或者广域网,在应用程序的开发阶段由于需要测试应用程序的开发程序的正确性,可能需要终端处于局域网的网络环境内进行开发过程的相关测试;在应用程序的体验阶段,就需要终端处于广域网的网络环境内以模拟用户使用该应用程序,以发现应用程序在使用过程中的问题来对应用程序进行优化。
为了满足终端访问不同网络环境的要求,通过代理服务器接收终端发送的访问应用服务器的请求信息。在该请求中携带有指示应用服务器的位置的第一标识,还携带有指示代理服务器的端口的第二标识。
代理服务器根据第一标识能够知道将该终端的请求访问的应用服务器的地址,并根据第二标识知道代理服务器发送该请求信息的端口。
代理服务器上可以配置多个端口,每个端口对应于不同的网络环境,如图1所示,代理服务器102与第一应用服务器103连接,同时,代理服务器102还与第二应用服务器104连接,第一应用服务器103可以由一个或者多个服务器构成,当然多个服务器可以构成一个局域网;第二应用服务器104也可以由一个或者多个服务器构成,一个或多个服务器可以处于广域网中。代理服务器102可以通过一个端口与第一应用服务器103连接,那么通过该端口的请求信息都会被代理服务器102发送到第一应用服务器103上,代理服务器102可以通过另外一个端口与第二应用服务器104连接,那么通过该端口的请求信息都会被代理服务器102发送到第二应用服务器104上。
以下以第一标识为应用服务器103的域名为例来描述本实施例中的方案,需要说明的是,本实施例中的第一标识不仅限于应用服务器103的域名,还可以是但不限于应用服务器103的IP地址。
在本实施例中,第二标识为代理服务器102的第二端口,以下参考表1对本实施例的终端测试方法进行说明。
第一标识可以是应用服务器的域名,如表1所示的imgcache.qq.com,第一标识还可以是应用服务器的初始IP地址。本实施例以第一标识为imgcache.qq.com为例进行说明。
第二标识是代理服务器的端口号,如表1所示代理服务器的端口号可以是8888,或者6660。
如表1所示,应用服务器103所处的网络环境可以为测试环境或者开发环境,在应用服务器103处于测试环境时,代理服务器的IP地址为113.108.17.145,端口号为8888;在应用服务器103处于开发环境时,代理服务器IP地址为113.108.17.145,端口号为6660。本实施例以代理服务器的IP地址为113.108.17.145,端口号为8888为例来描述本实施例中的技术方案。
例如,代理服务器102接收终端101的请求信息,其中,请求信息中携带有第一标识和第二标识,第一标识为应用服务器的域名imgcache.qq.com,应用服务器的第一端口的端口号为80,第二标识为代理服务器的端口号8888。终端101要访问的代理服务器的端口号为8888,代理服务器通过端口号为8888的端口输出的请求数据将要发往的应用服务器103所处的测试环境中。
例如,代理服务器102接收终端101的请求信息,其中,请求信息中携带有第一标识和第二标识,第一标识为应用服务器的初始IP地址为172.25.32.202,应用服务器的第一端口的端口号为80,第二标识为代理服务器的端口号6660。终端101要访问的代理服务器的端口号为6660,代理服务器通过端口号为6660的端口输出的请求数据将要发往的应用服务器103所处的测试环境中。
代理服务器知道发送请求消息中的请求数据的端口为第二端口,以及请求消息所请求的应用服务器的IP地址和第一端口,则代理服务器按照第一标识和第二标识中的信息将请求信息中的请求数据发送到地址为第一标识中的IP地址的应用服务器上的第一端口。
通过上述实施例,代理服务器接收终端发送的请求消息,并从请求消息中获得第一标识和第二标识,第一标识指示了请求信息所请求访问的应用服务器的IP地址和第一端口,第二标识指示了代理服务器发送请求消息中的请求数据的第二端口,代理服务器根据上述信息将请求信息中的请求数据从代理服务器的第二端口发送给地址为第一标识中的IP地址的应用服务器的第一端口,以实现终端访问应用服务器。代理服务器可以通过不同端口将请求信息携带的请求数据发送到相应的应用服务器上,如果一个终端需要在不同的网络环境中进行测试,通过代理服务器的不同端口访问处于不同网络环境中的应用服务器;如果有多个终端访问不同的应用服务器,即使这些应用服务器处于不同的网络环境中,代理服务器也可以通过不同的端口将请求信息携带的请求数据发送到相应的应用服务器上。代理服务器通过接收终端指示的第二端口来选择发送终端的请求数据的端口,在不需要为每个终端设置代理电脑的IP地址和端口的情况下,终端也能够连接至不同的网络环境中,从而解决了在终端上为每个网络环境配置相应的域名和IP地址之间的映射关系导致的测试复杂度较高的技术问题,进而达到了降低测试复杂度的技术效果。
优选地,发送单元包括确定子单元,用于根据第一标识和第二标识得到应用服务器在预定网络下的IP地址和第一端口的端口号,其中,第二标识还用于指示应用服务器所处的预定网络;第一发送子单元,用于通过第二端口将请求数据发送至地址为IP地址的应用服务器上的第一端口。
终端将第二标识发送给代理服务器,第二标识能够指示应用服务器所处的预定网络,即将代理服务器的端口号作为指示应用服务器所处的预定网络的标识。第二标识指示了代理服务器的第二端口,第二端口能够指示应用服务器所处的预定网络,通过代理服务器的不同端口输出请求数据到不同的网络中,代理服务器根据终端发送的第二标识中的代理服务器的端口号确定处于预定网络中的应用服务器的IP地址和第一端口的端口号。
此时代理服务器的端口号作为预定网络的标识,通过某个端口号对应的端口输出的请求数据就会被输出至预定网络中,即通过端口号就能区分不同的网络。终端通过告知代理服务器输出请求数据的代理服务器的端口号,就能连接到该端口号对应的网络中,也就是说,终端通过向代理服务器发送不同的代理服务器的端口号就能访问不同的网络,从而实现不同网络的切换。
如表1所示,测试环境对应的代理服务器的端口号为8888,开发环境对应的代理服务器的端口号为6660。终端101发送的请求信息中携带的代理服务器的端口号为8888,则代理服务器102通过端口号为8888的端口将终端101的请求数据发送给应用服务器,终端101请求访问的应用服务器的域名为imgcache.qq.com,而该域名对应的代理服务器的IP地址为10.130.24.31:80,则代理服务器102将终端的请求数据通过端口号为8888的端口发送到IP地址为10.130.24.31的应用服务器103,该应用服务器103处于测试环境中。
终端通过告知代理服务器发送请求数据的端口号,代理服务器通过终端发送的端口号对应的端口发送请求数据,从而终端能够与处于端口号对应的网络环境中的应用服务器的建立连接。在终端只需将端口号发送给代理服务器,并不需要为每次测试都单独配置代理电脑的IP地址和端口,在代理服务器上配置一次即可,从而解决了现有技术中在终端上为每个网络环境配置相应的域名和IP地址之间的映射关系导致的测试复杂度较高的技术问题,进而达到了降低测试复杂度的技术效果。
优选地,确定子单元包括:获取模块,用于从为第二标识所指示的预定网络所预先配置的映射关系中获取与第一标识对应的预定网络下的IP地址和第一端口的端口号。
每个网络环境都对应一个预先配置的映射关系,如表1,网络环境与代理服务器的端口号具有映射关系,在每个网络环境下,还存在处于该网络环境下的应用服务器的域名到IP地址的映射关系。由于通过同一个域名请求的应用服务器在处于不同的网络下时,其在预定网络下的IP地址与处于其他网络下的IP地址不同,因此,同一个应用服务器的域名可能对应IP地址。如表1,域名为imgcache.qq.com的应用服务器,在测试环境中映射的IP地址为10.130.24.31,但是在开发环境中映射的IP地址为10.185.20.211。代理服务器根据第二标识所指示的预定网络锁预先设置的映射关系中能够获取处于预定网络中的应用服务器的IP地址和第一端口的端口号。
在本实施例中,第二标识为代理服务器的端口号为6660,第一标识为应用服务器的域名imgcache.qq.com,端口号6660对应的网络环境为开发环境,在开发环境对应的预先配置的映射关系中,域名imgcache.qq.com映射的IP地址为10.185.20.211,第一端口的端口号为80。
优选地,第一标识包括应用服务器的网络域名或应用服务器的初始IP地址,第一查找子模块,用于在预先配置映射关系中查找是否存在第二标识所指示的预定网络下的映射关系,其中,代理服务器中预先存储有一个网络或至少两个不同网络下的映射关系,每个网络下的映射关系包括以下至少之一:网络域名与IP地址和端口号之间的映射关系,IP地址与IP地址和端口号之间的映射关系;第二查找子模块,用于在查找到在第二标识所指示的预定网络下的映射关系时,在第二标识所指示的预定网络下的映射关系中查找并向代理服务器发送与第一标识中包括的网络域名或初始IP地址对应的预定网络下的IP地址和第一端口的端口号。
如果第一标识请求的是网络域名,则代理服务器在映射关系中查找网络域名与应用服务器的IP地址和第一端口的端口号之间的映射关系;如果存在第二标识指示的预定网络下映射关系,并且第一标识请求是初始IP地址,则代理服务器在映射关系中查找初始IP地址与应用服务器的IP地址和第一端口的端口号之间的映射关系。
例如,第二标识是代理服务器的端口号。代理服务器根据应用服务器的网络域名或者初始IP地址查找应用服务器在预定网络下的IP地址和第一端口的端口号,代理服务器将终端的请求数据发送给地址为代理服务器查找的IP地址所对应的应用服务器的第一端口号所对应的端口。
代理服务器上预先配置的映射关系可以如表1所示。
如表1所示,以网络环境为测试环境和开发环境为例,测试环境下代理服务器通过端口号为8888的端口发送请求数据;开发环境下代理服务器通过端口号为6660的端口发送请求数据。第二标识可以是代理服务器的端口号,不同的端口号对应不同的网络。例如,开发环境对应的代理服务器的端口号为6660,测试环境对应的代理服务器的端口号为8888。终端可以根据需要的网络环境在请求消息中写入相应的代理服务器的端口号,代理服务器从请求信息中获取代理服务器的端口号之后从该端口号对应的端口发送请求数据。
具体地,代理服务器接收到终端发送的网络域名,如imgcache.qq.com,或者应用服务器的初始IP地址,如172.25.32.202。
代理服务器在接收到第一标识和第二标识后,代理服务器查找是否存在第二标识指示的预定网络下的映射关系。例如,第二标识为8888,则代理服务器在表1中查找端口号为8888对应的映射关系,即在测试环境中查找关于第一标识的映射关系。如果第一标识请求的是网络域名,则在测试环境中查找网络域名与应用服务器的IP地址和端口号之间的映射关系,如网络域名为i.gtimg.cn,其对应的IP地址为10.130.24.31,端口号为80。如果第一标识携带的是初始IP地址,第二标识携带的端口号是6660,则在开发环境中找到初始IP地址则在环境中无法找到该初始IP地址映射的应用服务器的IP地址172.25.32.202映射的应用服务器的IP地址为10.130.25.95,且应用服务器的端口号为8080。由于第一标识还可以携带应用服务器的端口号,除了常用的端口号80以外,还可以指定端口号,例如表1中,指定IP地址为172.25.32.202的端口号为8080。
在代理服务器根据第一标识和第二标识将终端发送的第一标识映射为应用服务器的IP地址和端口号之后,将终端的请求数据发送给根据映射得到的IP地址和端口号对应的应用服务器。例如,在应用程序的开发阶段,需要终端在开发环境中进行测试,开发环境对应的代理服务器的端口号为6660。终端在向代理服务器发送请求消息时,第一标识中携带有终端将要访问的应用服务器的域名为imgcache.qq.com,第二标识中携带有代理服务器的端口号为6660,则代理服务器根据第二标识中携带的端口号6660找到第一标识中应用服务器的域名对应的IP地址,由表1可以看出,在开发环境中域名imgcache.qq.com映射的IP地址为10.185.20.211,不同于测试环境中的IP地址10.130.24.31。代理服务器根据映射得到的IP地址将终端的请求信息发送给该IP地址对应的应用服务器,即代理服务器将访问域名为imgcache.qq.com的应用服务器的请求数据发送给IP地址为10.185.20.211的应用服务器。该服务器处于开发环境中,因此,通过代理服务器的发送终端可以在开发环境中访问域名为imgcache.qq.com的应用服务器进行测试。如果开发环境和测试环境处于局域网中,而终端无法直接访问通过局域网访问应用服务器,则可以按照上述方式通过代理服务器的发送来访问局域网中的应用服务器。
为了进一步说明本发明实施例的终端测试方法,以下结合图1和表1进行说明。
终端101连接的代理服务器的IP地址为113.108.17.145,该代理服务器的两个端口的端口号分别为8888和6660,其中,通过端口号8888发送的请求数据被发送到第一应用服务器103中,通过端口号6660发送的请求数据被发送到第二应用服务器104中。其中,第一应用服务器103和第二应用服务器104均包括多个应用服务器,第一应用服务器103中的多个应用服务器的域名分别为imgcache.qq.com、i.gtimg.cn和p.qq.com,这三个域名对应的多个服务器处于测试环境中;第二应用服务器104中包括域名分别为imgcache.qq.com和i.gtimg.cn的应用服务器,还有IP地址为172.25.32.202的应用服务器,这三个应用服务器处于开发环境中。
如果终端携带的端口号为8888,则代理服务器根据端口号确定请求的域名i.gtimg.cn对应的应用程序的IP地址为10.130.24.31,代理服务器将映射得到IP地址发回给代理服务器;如果终端携带的端口号位6660,则代理服务器根据端口号确定请求的域名i.gtimg.cn对应的应用服务器的IP地址为10.185.20.211,代理服务器获取到应用服务器的IP地址之后,将请求数据发送到确定的IP地址和端口号对应的应用服务器的端口号对应端口,从而建立起终端与应用服务器的连接以进行测试。
上述实施例,通过代理服务器上配置有代理服务器的端口号、应用服务器的IP地址和应用服务器的域名之间的映射关系,在代理服务器接收到终端发送的第二标识之后,代理服务器根据第二标识中的第二端口确定第一标识中的域名所对应的应用服务器的IP地址,代理服务器获取映射得到IP地址,将终端的请求数据发送到地址为该IP地址的应用服务器中。因为代理服务器中存在应用服务器的IP地址和代理服务器的端口号之间的映射关系,而代理服务器的端口对应不同的网络环境,所以在代理服务器能够根据端口号和域名查找到应用服务器的IP地址,并将终端的请求数据发送该IP地址对应的应用服务器,从而代理服务器能够根据终端的第二端口的端口号和用于指示应用服务器的地址的标识将终端连接到终端将要进行测试的网络环境中,无论是一个终端发送的多个不同的第二端口的端口号,还是多个终端发送的相同或者不同的第二端口的端口号,代理服务器均能将这些终端连接到终端请求的网络环境中,如果需要切换网络环境,只需要终端更改第二标识中的第二端口的端口号即可,无需更改代理服务器上的信息,因此,解决了在终端上为每个网络环境配置相应的域名和IP地址之间的映射关系导致的测试复杂度较高的技术问题,进而达到了降低测试复杂度的技术效果。
优选地,接收单元包括接收子单元,用于接收多个终端发送的用于访问应用服务器的请求消息;发送单元包括第二发送子单元,用于通过多个线程发送多个终端发送的请求消息中的请求数据,其中,每一个线程用于发送一个终端发送的请求消息中的请求数据。
为了保证终端能够访问代理服务器,代理服务器的IP地址是终端能够访问的IP地址,也就是说终端能够通过网络访问代理服务器。
当代理服务器接收来多个终端发送的用于访问应用服务器的请求信息时,代理服务器可以通过多个线程同时处理来自终端的请求数据,每个线程发送一个汇总段发送的请求消息中的请求数据。由于代理服务器发送请求数据,对代理服务器本身的内存的消耗不会太大,因此,可以满足用多个线程同时发送来自终端的请求数据的要求。
通过上述实施例,利用多个线程处理来自终端的请求数据,可以满足多个终端进行测试环境切换的要求,提高了终端进行测试环境切换的效率。
优选地,代理服务器还包括:第二获取单元,用于在代理服务器接收终端发送的用于访问应用服务器的请求消息之后,代理服务器获取终端的IP地址和代理服务器允许终端访问的IP段;判断单元,用于判断终端的IP地址是否处于代理服务器允许访问的IP段内;在判断出终端的IP地址处于代理服务器允许访问的所述IP段内时,通知发送单元执行将请求数据发送至应用服务器上的第一端口的操作。
在接收到终端发送的用于访问应用服务器的请求消息之后,代理服务器获取终端的IP地址和代理服务器允许终端访问的IP段,如果请求与代理服务器进行连接的终端的IP地址处于代理服务器允许终端访问的IP段内,则代理服务器将请求数据转发至应用服务器上的第一端口。也就是说,在终端访问应用服务器之前,能够拦截允许访问应用程序的IP段之外的终端,以避免终端的恶意连接,从而保证了代理服务器以及应用服务器的安全性。
实施例3
根据本发明实施例,还提供了一种用于实施上述终端测试方法的代理服务器,如图6所示,该代理服务器主要包括处理器601、设备接口602、网络接口603、存储器604,其中:
设备接口602用于连接终端,网络接口603用于连接应用服务器,存储器604用于存储执行上述终端测试方法的程序代码。
处理器601主要用于执行如下操作:
处理器601用于接收终端发送的用于访问应用服务器的请求消息,其中,请求消息包括:第一标识和第二标识,第一标识用于指示应用服务器的IP地址和第一端口,第二标识用于指示代理服务器的第二端口;代理服务器从请求消息中获取第一标识和第二标识;以及代理服务器通过第二标识所指示的第二端口将请求消息中的请求数据发送至地址为IP地址的应用服务器上的第一端口。
处理器601还用于根据第一标识和第二标识得到应用服务器在预定网络下的IP地址和第一端口的端口号,其中,第二标识还用于指示应用服务器所处的预定网络;代理服务器通过第二端口将请求数据发送至地址为IP地址的应用服务器上的第一端口。
处理器601还用于从为第二标识所指示的预定网络所预先配置的映射关系中获取与第一标识对应的预定网络下的IP地址和第一端口的端口号。
处理器601还用于查找是否存在第二标识指示的预定网络下映射关系,其中,代理服务器中预先存储由一个网络或至少两个不同网络下的映射关系,每个网络下的映射关系包括以下至少之一:网络域名与应用服务器的IP地址和端口号之间的映射关系,初始IP地址与应用服务器的IP地址和端口号之间的映射关系;若查找到在第二标识所指示的预定网络下的映射关系,则代理服务器在第二标识所指示的预定网络下的映射关系中查找与第一标识中包括的网络域名或初始IP地址对应的预定网络下的IP地址和第一端口的端口号。
处理器601还用于接收多个终端发送的用于访问应用服务器的请求消息;通过第二标识所指示的第二端口将请求消息中的请求数据发送至地址为IP地址的应用服务器上的第一端口包括:代理服务器通过多个线程发送多个终端发送的请求消息中的请求数据,其中,每一个线程用于发送一个终端发送的请求消息中的请求数据。
处理器601还用于在代理服务器接收终端发送的用于访问应用服务器的请求消息之后,获取终端的IP地址;判断终端的IP地址是否处于代理服务器允许访问的IP段内;以及若终端的IP地址处于代理服务器允许访问的IP段内,则代理服务器执行将请求数据发送至应用服务器上的第一端口的操作。
可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。
实施例4
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于存储本发明实施例终端测试方法的程序代码
可选地,在本实施例中,上述存储介质可以位于广域网、城域网或局域网的网络中的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
S1,代理服务器接收终端发送的用于访问应用服务器的请求消息,其中,请求消息包括:第一标识和第二标识,第一标识用于指示应用服务器的IP地址和第一端口,第二标识用于指示代理服务器的第二端口;
S2,代理服务器从请求消息中获取第一标识和第二标识;
S3,代理服务器通过第二标识所指示的第二端口将请求消息中的请求数据发送至地址为IP地址的应用服务器上的第一端口。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:代理服务器通过第二标识所指示的第二端口将请求消息中的请求数据发送至地址为IP地址的应用服务器上的第一端口包括:代理服务器根据第一标识和第二标识得到应用服务器在预定网络下的IP地址和第一端口的端口号,其中,第二标识还用于指示应用服务器所处的预定网络;代理服务器通过第二端口将请求数据发送至地址为IP地址的应用服务器上的第一端口。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:代理服务器根据第一标识和第二标识得到应用服务器在预定网络下的IP地址和第一端口的端口号包括:代理服务器从为第二标识所指示的预定网络所预先配置的映射关系中获取与第一标识对应的预定网络下的IP地址和第一端口的端口号。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:第一标识包括应用服务器的网络域名或应用服务器的初始IP地址,代理服务器从为第二标识所指示的预定网络所预先配置的映射关系中获取与第一标识对应的预定网络下的IP地址和第一端口的端口号包括:代理服务器查找是否存在第二标识指示的预定网络下映射关系,其中,代理服务器中预先存储由一个网络或至少两个不同网络下的映射关系,每个网络下的映射关系包括以下至少之一:网络域名与应用服务器的IP地址和端口号之间的映射关系,初始IP地址与应用服务器的IP地址和端口号之间的映射关系;若查找到在第二标识所指示的预定网络下的映射关系,则代理服务器在第二标识所指示的预定网络下的映射关系中查找与第一标识中包括的网络域名或初始IP地址对应的预定网络下的IP地址和第一端口的端口号。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:代理服务器接收终端发送的用于访问应用服务器的请求消息包括:代理服务器接收多个终端发送的用于访问应用服务器的请求消息;代理服务器通过第二标识所指示的第二端口将请求消息中的请求数据发送至地址为IP地址的应用服务器上的第一端口包括:代理服务器通过多个线程发送多个终端发送的请求消息中的请求数据,其中,每一个线程用于发送一个终端发送的请求消息中的请求数据。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:在代理服务器接收终端发送的用于访问应用服务器的请求消息之后,终端测试方法还包括:代理服务器获取终端的IP地址;代理服务器判断终端的IP地址是否处于代理服务器允许访问的IP段内;以及若终端的IP地址处于代理服务器允许访问的IP段内,则代理服务器执行将请求数据发送至应用服务器上的第一端口的操作。
可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (13)

1.一种终端测试方法,其特征在于,包括:
代理服务器接收终端发送的用于访问应用服务器的请求消息,其中,所述请求消息包括:第一标识和第二标识,所述第一标识用于指示所述应用服务器的IP地址和第一端口,所述第二标识用于指示所述代理服务器的第二端口,所述第二端口的端口号用于指示所述应用服务器所处的预定网络,所述代理服务器通过接收不同的所述第二端口的端口号来切换所述预定网络,所述代理服务器的端口号和所述应用服务器的IP地址之间具有映射关系;
所述代理服务器从所述请求消息中获取所述第一标识和所述第二标识;以及
所述代理服务器通过所述第二标识所指示的所述第二端口将所述请求消息中的请求数据发送至地址为所述IP地址的所述应用服务器上的所述第一端口。
2.根据权利要求1所述的终端测试方法,其特征在于,所述代理服务器通过所述第二标识所指示的所述第二端口将所述请求消息中的请求数据发送至地址为所述IP地址的所述应用服务器上的所述第一端口包括:
所述代理服务器根据所述第一标识和所述第二标识得到所述应用服务器在所述预定网络下的所述IP地址和所述第一端口的端口号;
所述代理服务器通过所述第二端口将所述请求数据发送至地址为所述IP地址的所述应用服务器上的所述第一端口。
3.根据权利要求2所述的终端测试方法,其特征在于,所述代理服务器根据所述第一标识和所述第二标识得到所述应用服务器在预定网络下的所述IP地址和所述第一端口的端口号包括:
所述代理服务器从为所述第二标识所指示的所述预定网络所预先配置的映射关系中获取与所述第一标识对应的所述预定网络下的所述IP地址和所述第一端口的端口号。
4.根据权利要求3所述的终端测试方法,其特征在于,所述第一标识包括所述应用服务器的网络域名或所述应用服务器的初始IP地址,所述代理服务器从为所述第二标识所指示的所述预定网络所预先配置的映射关系中获取与所述第一标识对应的所述预定网络下的所述IP地址和所述第一端口的端口号包括:
所述代理服务器查找是否存在所述第二标识指示的所述预定网络下映射关系,其中,所述代理服务器中预先存储由一个网络或至少两个不同网络下的映射关系,每个网络下的映射关系包括以下至少之一:所述网络域名与所述应用服务器的IP地址和端口号之间的映射关系,所述初始IP地址与所述应用服务器的IP地址和端口号之间的映射关系;
若查找到在所述第二标识所指示的所述预定网络下的所述映射关系,则所述代理服务器在所述第二标识所指示的所述预定网络下的所述映射关系中查找与第一标识中包括的所述网络域名或所述初始IP地址对应的所述预定网络下的IP地址和第一端口的端口号。
5.根据权利要求1所述的终端测试方法,其特征在于,
所述代理服务器接收终端发送的用于访问应用服务器的请求消息包括:所述代理服务器接收多个所述终端发送的用于访问应用服务器的请求消息;
所述代理服务器通过所述第二标识所指示的所述第二端口将所述请求消息中的请求数据发送至地址为所述IP地址的所述应用服务器上的所述第一端口包括:所述代理服务器通过多个线程发送多个所述终端发送的请求消息中的请求数据,其中,每一个所述线程用于发送一个所述终端发送的所述请求消息中的请求数据。
6.根据权利要求1所述的终端测试方法,其特征在于,在代理服务器接收终端发送的用于访问应用服务器的请求消息之后,所述终端测试方法还包括:
所述代理服务器获取所述终端的IP地址;
所述代理服务器判断所述终端的IP地址是否处于所述代理服务器允许访问的IP段内;以及
若所述终端的IP地址处于所述代理服务器允许访问的所述IP段内,则所述代理服务器执行将所述请求数据发送至所述应用服务器上的所述第一端口的操作。
7.一种代理服务器,其特征在于,包括:
接收单元,用于接收终端发送的用于访问应用服务器的请求消息,其中,所述请求消息包括:第一标识和第二标识,所述第一标识用于指示所述应用服务器的IP地址和第一端口,所述第二标识用于指示所述代理服务器的第二端口,所述第二端口的端口号用于指示所述应用服务器所处的预定网络,所述代理服务器通过接收不同的所述第二端口的端口号来切换所述预定网络,所述代理服务器的端口号和所述应用服务器的IP地址之间具有映射关系;
第一获取单元,用于从所述请求消息中获取所述第一标识和所述第二标识;以及
发送单元,用于通过所述第二标识所指示的所述第二端口将所述请求消息中的请求数据发送至地址为所述IP地址的所述应用服务器上的所述第一端口。
8.根据权利要求7所述的代理服务器,其特征在于,所述发送单元包括:
确定子单元,用于根据所述第一标识和第二标识得到所述应用服务器在所述预定网络下的所述IP地址和所述第一端口的端口号;
第一发送子单元,用于通过所述第二端口将所述请求数据发送至地址为所述IP地址的所述应用服务器上的所述第一端口。
9.根据权利要求8所述的代理服务器,其特征在于,所述确定子单元包括:
获取模块,用于从为所述第二标识所指示的所述预定网络所预先配置的映射关系中获取与所述第一标识对应的所述预定网络下的所述IP地址和所述第一端口的端口号。
10.根据权利要求9所述的代理服务器,其特征在于,所述第一标识包括所述应用服务器的网络域名或所述应用服务器的初始IP地址,所述获取模块包括:
第一查找子模块,用于查找是否存在所述第二标识指示的所述预定网络下映射关系,其中,所述代理服务器中预先存储由一个网络或至少两个不同网络下的映射关系,每个网络下的映射关系包括以下至少之一:所述网络域名与所述应用服务器的IP地址和端口号之间的映射关系,所述初始IP地址与所述应用服务器的IP地址和端口号之间的映射关系;以及
第二查找子模块,用于在查找到在所述第二标识所指示的所述预定网络下的所述映射关系时,所述代理服务器在所述第二标识所指示的所述预定网络下的所述映射关系中查找与第一标识中包括的所述网络域名或所述初始IP地址对应的所述预定网络下的IP地址和第一端口的端口号。
11.根据权利要求7所述的代理服务器,其特征在于,
所述接收单元包括:所接收子单元,用于接收多个所述终端发送的用于访问应用服务器的请求消息;
所述发送单元包括:第二发送子单元,用于通过多个线程发送多个所述终端发送的请求消息中的请求数据,其中,每一个所述线程用于发送一个所述终端发送的所述请求消息中的请求数据。
12.根据权利要求7所述的代理服务器,其特征在于,所述代理服务器还包括:
第二获取单元,用于在代理服务器接收终端发送的用于访问应用服务器的请求消息之后,所述代理服务器获取所述终端的IP地址;以及
判断单元,用于判断所述终端的IP地址是否处于所述代理服务器允许访问的IP段内;在判断出所述终端的IP地址处于所述代理服务器允许访问的所述IP段内时,通知所述发送单元执行将所述请求数据发送至所述应用服务器上的所述第一端口的操作。
13.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至6任一项中所述的方法。
CN201410438024.5A 2014-08-29 2014-08-29 终端测试方法和代理服务器 Active CN105376107B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410438024.5A CN105376107B (zh) 2014-08-29 2014-08-29 终端测试方法和代理服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410438024.5A CN105376107B (zh) 2014-08-29 2014-08-29 终端测试方法和代理服务器

Publications (2)

Publication Number Publication Date
CN105376107A CN105376107A (zh) 2016-03-02
CN105376107B true CN105376107B (zh) 2020-02-28

Family

ID=55377934

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410438024.5A Active CN105376107B (zh) 2014-08-29 2014-08-29 终端测试方法和代理服务器

Country Status (1)

Country Link
CN (1) CN105376107B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106953789B (zh) * 2017-02-20 2020-02-04 广州启生信息技术有限公司 一种可编程多拨号路由出口寻访***的实现方法
CN107105033B (zh) * 2017-04-21 2020-08-18 北京奇安信科技有限公司 云应用访问方法、云代理服务器及云应用访问***
CN107070931B (zh) * 2017-04-21 2020-08-18 北京奇安信科技有限公司 云应用数据上传/访问方法、***及云代理服务器
CN109525628B (zh) * 2017-09-20 2021-09-07 北京国双科技有限公司 Http请求调试方法、装置和***
CN108153543B (zh) * 2017-12-29 2021-03-02 北京酷我科技有限公司 一种服务器地址切换的方法
CN107948329A (zh) * 2018-01-03 2018-04-20 湖南麓山云数据科技服务有限公司 一种跨域处理方法及***
CN109194749B (zh) * 2018-09-11 2021-08-03 福建天泉教育科技有限公司 监听网络请求的方法、存储介质
CN111225099B (zh) * 2018-11-27 2021-07-13 Oppo(重庆)智能科技有限公司 终端测试方法、服务器、测试设备及存储介质
CN109634858A (zh) * 2018-12-07 2019-04-16 北京小米移动软件有限公司 文件测试方法、装置及计算机可读存储介质
CN109582583B (zh) * 2018-12-14 2024-06-18 平安健康保险股份有限公司 软件测试方法、装置、计算机设备和存储介质
CN111131436B (zh) * 2019-12-20 2022-08-30 广州品唯软件有限公司 快速查找代理方法、装置和可读存储介质
CN113676502B (zh) * 2020-05-14 2024-05-14 协鑫集成科技股份有限公司 应用服务访问方法、装置及存储介质
CN113783713A (zh) * 2020-08-04 2021-12-10 北京沃东天骏信息技术有限公司 一种配置代理的方法、装置和***
CN112261660B (zh) * 2020-10-16 2024-06-04 深圳安软信创技术有限公司 安卓手机端应用代理接入安全控制方法
CN114520780A (zh) * 2022-01-28 2022-05-20 北京金堤科技有限公司 用于代理服务器的接入方法及装置
CN115277119B (zh) * 2022-07-12 2024-02-09 深圳市电子商务安全证书管理有限公司 内部网络的访问方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102227115A (zh) * 2011-06-13 2011-10-26 北京星网锐捷网络技术有限公司 一种限制用户访问的方法和装置
CN103944942A (zh) * 2013-01-22 2014-07-23 腾讯科技(深圳)有限公司 一种多web环境的数据访问方法和装置
CN104009880A (zh) * 2013-02-27 2014-08-27 阿里巴巴集团控股有限公司 Web测试方法、代理服务器和Web测试装置
US9246699B2 (en) * 2010-06-07 2016-01-26 Salesforce.Com, Inc. Method and system for testing multiple components of a multi-tenant, multi-domain, multi-tiered website

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102591667B (zh) * 2012-01-16 2015-05-27 深圳市同洲电子股份有限公司 一种远程发布应用的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9246699B2 (en) * 2010-06-07 2016-01-26 Salesforce.Com, Inc. Method and system for testing multiple components of a multi-tenant, multi-domain, multi-tiered website
CN102227115A (zh) * 2011-06-13 2011-10-26 北京星网锐捷网络技术有限公司 一种限制用户访问的方法和装置
CN103944942A (zh) * 2013-01-22 2014-07-23 腾讯科技(深圳)有限公司 一种多web环境的数据访问方法和装置
CN104009880A (zh) * 2013-02-27 2014-08-27 阿里巴巴集团控股有限公司 Web测试方法、代理服务器和Web测试装置

Also Published As

Publication number Publication date
CN105376107A (zh) 2016-03-02

Similar Documents

Publication Publication Date Title
CN105376107B (zh) 终端测试方法和代理服务器
CN105391811B (zh) 域名解析方法、应用服务器的访问方法及其终端
US10397120B2 (en) Service link selection control method and device
CN105430108B (zh) 一种测试环境访问方法及代理服务器
US10015734B2 (en) System and method of locating wireless connection among a plurality of wireless connections
US10165507B2 (en) Network access method and apparatus applied to mobile application
CN110267314B (zh) 切换网络切片的方法及装置
CN110688146A (zh) 对监控***进行动态配置的方法、装置以及存储介质
US20170289243A1 (en) Domain name resolution method and electronic device
CN106851758B (zh) 通信网络切换方法及终端设备
CN105516744B (zh) 智能电视访问方法及智能电视访问***
CN110704158A (zh) 在容器集群内转发访问请求的方法、装置以及存储介质
CN111314394B (zh) 物联网的资源发布方法、装置、设备及存储介质
CN103561063A (zh) 一种登录机顶盒的方法及终端
CN114416508A (zh) 应用性能监控方法和装置、存储介质及电子设备
US20150121364A1 (en) Method, User Equipment, and Application Server for Downloading Application
US20150039917A1 (en) Information processing device, activation method, and computer program product
CN110730244A (zh) Dht***的组网方法、***及网络设备和存储介质
CN108768807B (zh) 一种云平台虚实互连的方法及装置
CN108174378B (zh) 号码识别方法、装置、终端及存储介质
CN111026995A (zh) 应用程序间信息关联的方法、装置以及存储介质
CN108614844B (zh) 多媒体文件生成方法及装置
CN109660497A (zh) 数据处理方法及装置、终端、处理器、存储介质
CN114301989A (zh) 信息传递方法、装置和***
CN102891888B (zh) 一种数据访问方法及相关设备、***

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant