如何在测试 localhost 时模拟不同的位置?
我正在使用 java play 框架,当他发布表单时,我会在其中获取用户 IP 地址。在测试时,我保存了地址,我得到的只是 localhost 0:0:0:0:0:0:0:1%0
。我希望能够在各种位置对此进行测试,并使用不同的 IP 地址进行测试并从 IP 地址中获取用户的位置。
解决此问题的最佳方法是什么?
如何在测试 localhost 时模拟不同的位置?
我正在使用 java play 框架,当他发布表单时,我会在其中获取用户 IP 地址。在测试时,我保存了地址,我得到的只是 localhost 0:0:0:0:0:0:0:1%0
。我希望能够在各种位置对此进行测试,并使用不同的 IP 地址进行测试并从 IP 地址中获取用户的位置。
解决此问题的最佳方法是什么?
如果您知道从中读取 IP 的结构,则可以对此进行模拟并使用您设置的不同 IPS 对其进行测试。但是你为什么需要那个?如果您的测试本地主机及其工作,您似乎可以以正确的方式读取 IP。
如果您对 IP 进行任何操作,例如确定其来自的国家/地区,您可以使用恒定 IP 进行测试,但使用不同主机测试 IP 是为了测试获取 IP 的功能,这实际上是我不会做的基本事情亲自测试。
你可以使用这样的东西:hostip.info/use.html
问题的答案首先取决于您如何检索 IP 地址。如果您使用反向代理(例如负载均衡器),则原始 IP 可能位于 HTTP 标头中。如果是这样,您可以进行如下测试:
Result result = callAction(routes.ref.YourController.yourMethod(),
new FakeRequest().withHeader(IP_ADDRESS, testIPAddress));