-2

我试图弄清楚如何检查用户国家/地区,然后根据我定义的用户国家/地区的结果执行特定代码。有任何想法吗?

4

2 回答 2

3

你可以这样做:

使用服务获取用户的外部 ip:

f = urllib.urlopen("http://www.canyouseeme.org/")
html_doc = f.read()
f.close()
m = re.search('(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)',html_doc)
ip = m.group(0)

然后使用http://pypi.python.org/pypi/pygeoip/找出用户国家

geoip = pygeoip.GeoIP("GeoIPCountry.dat", pygeoip.STANDARD)
result = geoip.record_by_addr(ip)
于 2012-11-27T15:27:45.853 回答
0

由于您只是在征求意见,因此您可以检查语言和/或时区环境变量。问题是这些都不能保证是准确的——在菲律宾找到一台在美国/纽约设置为 en_US 的计算机也就不足为奇了。

于 2012-11-27T15:23:27.803 回答