Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取用户在Python Flask中的位置_Python_Python 3.x_Amazon Web Services_Flask_Amazon Ec2 - Fatal编程技术网

获取用户在Python Flask中的位置

获取用户在Python Flask中的位置,python,python-3.x,amazon-web-services,flask,amazon-ec2,Python,Python 3.x,Amazon Web Services,Flask,Amazon Ec2,我想检查用户的地理位置,如国家代码,这是我的代码: from urllib.request import urlopen url = 'http://ipinfo.io/json' response = urlopen(url) data = json.load(response) country = data['country'] print(country) 当我在本地机器上运行它时,它会显示我的当前位置,但当我在ec2服务器上运行此脚本时,它会显示ec2本身的区域 如何获取实际用户的位

我想检查用户的地理位置,如国家代码,这是我的代码:

from urllib.request import urlopen

url = 'http://ipinfo.io/json'
response = urlopen(url)
data = json.load(response)
country = data['country']
print(country)
当我在本地机器上运行它时,它会显示我的当前位置,但当我在ec2服务器上运行此脚本时,它会显示ec2本身的区域

如何获取实际用户的位置,而不是ec2区域? 更新和解决方案

感谢Mousetail,我需要在URL中使用IP:
https://ipinfo.io/[用户的ip]/json

它显示您的位置,因为正在执行的请求是服务器端执行的,而不是客户端执行的。您可以使用maybe从JavaScript的客户端获取IP


感谢

感谢Mousetail,我需要在URL中使用IP地址:https://ipinfo.io/[用户的ip]/json

使用https://ipinfo.io/[用户的ip地址]/json@mousetail非常感谢。成功了!非常感谢:不需要使用javascript来获取用户的IP,服务器始终可以访问IP。它需要IP来发送数据back@mousetail是的,我知道,但这仍然是一种方法。@SergeiKiselev,但我想在服务器端处理它。是的,但效率极低,需要一段额外的往返时间。此外,您永远不应该信任来自客户的信息。