为Flask提供的最简单的GeoIP查找库。
项目描述
为Flask提供的最简单的GeoIP查找库。
元数据
作者:Randall Degges
电子邮件: r@rdegges.com
Twitter: https://twitter.com/rdegges
状态:生产就绪
先决条件
要使用此库,您需要创建一个免费的GeoIPify帐户: https://geoipify.whoisxmlapi.com/
如果您还没有这样做,请现在就做;您将获得一个用于使用库所需的API密钥。
安装
要使用 pypi 安装 flask-simple-geoip,只需运行
$ pip install flask-simple-geoip
在项目目录的根目录下。
用法
一旦安装了 flask-simple-geoip,您就可以用它轻松地查找给定IP地址的物理位置。
本库为您提供了所有 sorts of 地理位置数据,您可以在应用程序中以任何数量的方式使用。
以下是一个简单的 Flask 应用程序,它利用了地理位置查找。
from flask import Flask, jsonify
from flask_simple_geoip import SimpleGeoIP
app = Flask(__name__)
# The API key is obtained from the GEOIPIFY_API_KEY environment variable.
# Alternatively it can be set as follows:
# app.config.update(GEOIPIFY_API_KEY='YOUR_API_KEY')
# Initialize the extension
simple_geoip = SimpleGeoIP(app)
@app.route('/')
def test():
# Retrieve geoip data for the given requester
geoip_data = simple_geoip.get_geoip_data()
return jsonify(data=geoip_data)
以下是进行 geoip 查询请求时可能返回的数据类型。
{
"ip": "8.8.8.8",
"location": {
"country": "US",
"region": "California",
"city": "Mountain View",
"lat": 37.40599,
"lng": -122.078514,
"postalCode": "94043",
"timezone": "-08:00"
}
}
默认情况下,此库会为您处理失败的 HTTP 请求重试。例如:如果 GeoIPify API 服务当前不可用或存在问题,您的请求将在失败之前最多重试三次。
如果在 geoip 查询仍然无法成功返回的情况下,返回的数据将是 None。此库 永远不会 抛出异常。这个决定是经过战略考虑的:没有 geoip 数据不应该是请求失败的原因。=)
变更日志
按降序排列的所有库更改。
版本 0.2.4
发布于 2020 年 10 月 27 日。
在说明书中描述了如何提供 API 密钥。
版本 0.2.3
发布于 2020 年 8 月 26 日。
修复了 pypy 支持。
版本 0.2.2
发布于 2020 年 8 月 24 日。
添加了对 X_FORWARDED_FOR 头的支持。
版本 0.1.1
发布于 2018 年 6 月 18 日。
修复说明,以便它在 PyPI 上正确显示 :(
版本 0.1.0
发布于 2018 年 6 月 18 日。
首次发布!
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装软件包 的信息。
源代码分发
构建分发
Flask-Simple-GeoIP-0.2.4.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9655b4be1249b90b422d61d388032a4ff4f691aac632d2581ee88f44a6512ff1 |
|
MD5 | 1c8f69c2e82dd502f9921427211b7615 |
|
BLAKE2b-256 | 634a20ca3efa0e3fe00eab5b4491041d7f598c1969008f9449f17c2fe81d0ecf |
Flask_Simple_GeoIP-0.2.4-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | dfbfa618d13a271cd7ae91359c253debf58a0a3e772a8400ca0a1c4aa29282f4 |
|
MD5 | a026a651d038079b1f2bda9c410f702b |
|
BLAKE2b-256 | 0dbbff9f39a9be21cfae80dabb29bb7fda73371a1e6506abd6ed49cc84302fa3 |