【问题标题】:Get urllib.error.HTTPError: HTTP Error 423: Locked from api.ipgeolocation.io in Flask app获取 urllib.error.HTTPError: HTTP Error 423: Locked from api.ipgeolocation.io in Flask app
【发布时间】:2022-11-04 23:34:37
【问题描述】:

我正在创建一个 Flask 应用程序,在我的这一部分路线.py我想使用 api.ipgeolocation.io 从他们的 IP 获取访问者的国家和城市,但出现错误urllib.error.HTTPError:HTTP 错误 423:锁定

import json
from urllib.request import urlopen
from flask import request
...
public_ip = request.remote_addr
url = 'https://api.ipgeolocation.io/ipgeo?apiKey=API_KEY&ip={}'.format(public_ip)
response = urlopen(url)
data = json.load(response)
country = data['country_name']
city = data['city']

我使用固定 IP 进行测试,例如。 8.8.8.8 它有效。

url = 'https://api.ipgeolocation.io/ipgeo?apiKey=API_KEY&ip={}'.format("8.8.8.8")
>>>OUTPUT: United States, Mountain View

我不知道我错在哪里,任何帮助将不胜感激,谢谢。

【问题讨论】:

    标签: json flask urllib urlopen


    【解决方案1】:

    我遇到了同样的反应。对我来说,问题是我传递了一个内部 IP。我最终将调用包装在 try catch 中并“忽略”内部 IP,因为它们不需要包含在内。 HTH。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-20
      • 1970-01-01
      • 1970-01-01
      • 2021-04-02
      • 1970-01-01
      • 2021-04-13
      • 2021-08-01
      相关资源
      最近更新 更多