发起IP的http请求编辑

时间:2013-06-10 13:57:50

标签: java networking tcp

我有一个网站,我想要显示添加w.r.t.市。所以在我的代码中,我从请求对象中获取IP并从MaxMind GeoIP数据库计算城市。现在我想测试一下。有人可以告诉我如何测试不同的城市,我无法跨城市进行测试。我们可以做一些TCP数据包编辑,以便我的服务器代码将为同一客户端获得不同的不同IP,我可以测试各种IP或一些工具。谢谢!

2 个答案:

答案 0 :(得分:1)

将代码分隔为图层。

  1. 提取IP的非常薄的HTTP层
  2. 获取IP并返回城市的图层。
  3. 现在,您可以为每个层创建单独的单元测试(一个模拟HTTP请求并检查IP地址是否正确提取,第二个是业务逻辑),也可能是一个集成测试,它从一个预定义的已知位置执行真正的HTTP请求并检查你是否得到了正确的城市。

    BTW第一层(提取IP地址)实际上由一行组成,如request.getRemoteAddr()

答案 1 :(得分:0)

我不知道您的测试有不同的IP,但我建议您根据需要使用geoip

<script language="JavaScript" src="http://j.maxmind.com/app/geoip.js"></script>

<br>Country Code:
<script language="JavaScript">document.write(geoip_country_code());</script>
<br>Country Name:
<script language="JavaScript">document.write(geoip_country_name());</script>
<br>City:
<script language="JavaScript">document.write(geoip_city());</script>
<br>Region:
<script language="JavaScript">document.write(geoip_region());</script>
<br>Region Name:
<script language="JavaScript">document.write(geoip_region_name());</script>
<br>Latitude:
<script language="JavaScript">document.write(geoip_latitude());</script>
<br>Longitude:
<script language="JavaScript">document.write(geoip_longitude());</script>
<br>Postal Code:
<script language="JavaScript">document.write(geoip_postal_code());</script>