【问题标题】:Get location of a user in Python Flask在 Python Flask 中获取用户的位置
【发布时间】:2021-04-20 11:53:55
【问题描述】:

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

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/[the ip of the user]/json

【问题讨论】:

  • 使用https://ipinfo.io/[the ip of the user]/json
  • @mousetail 谢谢!那行得通!非常感谢:)

标签: python python-3.x amazon-web-services flask amazon-ec2


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    谢谢

    【讨论】:

    • 不需要使用javascript来获取用户的IP,服务器始终可以访问该IP。它需要 IP 来发回数据
    • @mousetail 是的,我知道,但这仍然是一种方法。
    • @SergeiKiselev 但我想在服务器端处理它。
    • 是的,但这非常低效,需要额外的往返时间。此外,您永远不应该相信来自客户的信息。
    猜你喜欢
    • 1970-01-01
    • 2017-10-28
    • 1970-01-01
    • 2022-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多