如何在localhost中测试时模拟不同的位置?

时间:2012-09-11 05:06:02

标签: java web-applications localhost playframework-2.0 ip-address

如何在测试localhost时模拟不同的位置?

我正在使用java play框架,我在发布表单时获取用户的IP地址。在测试时,我保存了地址,我得到的只是localhost 0:0:0:0:0:0:0:1%0。我希望能够在多种位置进行测试,并使用不同的IP地址对此进行测试,并从IP地址获取用户的位置。

最好的方法是什么?

2 个答案:

答案 0 :(得分:1)

如果你知道从中读取IP的结构,你可以模拟它并使用你设置的不同IPS进行测试。但你为什么需要呢?如果您测试localhost及其工作,似乎您可以正确的方式读取IP。

如果您正在使用IP做任何事情,例如确定其来自的国家/地区,您可以使用常量IP进行测试,但使用不同的主机测试IP是测试该功能以获取实际上是基本的IP我不会亲自测试的东西。

来自评论:

您可以使用以下内容:hostip.info/use.html

答案 1 :(得分:1)

问题的答案取决于您首先检索IP地址的方式。如果您位于负载平衡器等反向代理之后,则原始IP可能位于HTTP标头中。如果是这样,您可以按如下方式进行测试:

Result result = callAction(routes.ref.YourController.yourMethod(),
            new FakeRequest().withHeader(IP_ADDRESS, testIPAddress));