我正在试图找出如何检查用户所在国家/地区,然后根据我定义的用户所在国家/地区的结果执行特定代码。有什么想法吗?
答案 0 :(得分: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)
答案 1 :(得分:0)
由于您只是在征求意见,因此您可以检查语言和/或时区环境变量。问题是这些都不能保证准确 - 在菲律宾为美国/纽约的en_US设置计算机并不奇怪。