如何在测试localhost时模拟不同的位置?
我正在使用java play框架,我在发布表单时获取用户的IP地址。在测试时,我保存了地址,我得到的只是localhost 0:0:0:0:0:0:0:1%0
。我希望能够在多种位置进行测试,并使用不同的IP地址对此进行测试,并从IP地址获取用户的位置。
最好的方法是什么?
答案 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));