非常感谢 ipstack 本周赞助 CSS-Tricks!
您是否曾经需要了解网站访客的概略位置?您可以通过用户的 IP 地址获取此信息,而无需明确要求用户提供。您只需要一个 API 来提供这些信息,而 ipstack 正是这样一个 API。
这是我现在的所在地

它通过一个覆盖全球超过 200,000 个城市中超过 200 万个唯一位置的 API 全球运作,并且每天更新数十次。
对于所有前端 JavaScript 开发人员来说,它是一个简洁的 JSON API!如果您需要,XML 也可以使用。您可能对可以获取的所有数据感到好奇,所以让我们来看看吧
{
"ip": "134.201.250.155",
"hostname": "134.201.250.155",
"type": "ipv4",
"continent_code": "NA",
"continent_name": "North America",
"country_code": "US",
"country_name": "United States",
"region_code": "CA",
"region_name": "California",
"city": "Los Angeles",
"zip": "90013",
"latitude": 34.0453,
"longitude": -118.2413,
"location": {
"geoname_id": 5368361,
"capital": "Washington D.C.",
"languages": [
{
"code": "en",
"name": "English",
"native": "English"
}
],
"country_flag": "https://assets.ipstack.com/images/assets/flags_svg/us.svg",
"country_flag_emoji": "🇺🇸",
"country_flag_emoji_unicode": "U+1F1FA U+1F1F8",
"calling_code": "1",
"is_eu": false
},
"time_zone": {
"id": "America/Los_Angeles",
"current_time": "2018-03-29T07:35:08-07:00",
"gmt_offset": -25200,
"code": "PDT",
"is_daylight_saving": true
},
"currency": {
"code": "USD",
"name": "US Dollar",
"plural": "US dollars",
"symbol": "$",
"symbol_native": "$"
},
"connection": {
"asn": 25876,
"isp": "Los Angeles Department of Water & Power"
}
"security": {
"is_proxy": false,
"proxy_type": null,
"is_crawler": false,
"crawler_name": null,
"crawler_type": null,
"is_tor": false,
"threat_level": "low",
"threat_types": null
}
}
这有什么用处?
各种各样的事情!任何你想要的!但这里有一些非常实用的例子
- 您的网站是否显示时间?只要您知道用户的位置,就可以将这些时间调整到用户当地时区。
- 您的网站是否显示货币?只要您知道用户的位置,就可以调整价格以显示当地货币。
- 由于法律、法规或其他原因,您的网站是否仅在某些国家/地区有效?您可能希望为这些不同的国家/地区提供不同的体验。ipstack 也常用于防止潜在的安全威胁。
许多大型公司,如微软、Airbnb 和三星,都使用 ipstack。

用法
ipstack 提供免费层级,每月最多可覆盖 10,000 个请求,并且计划从每月 9.99 美元起,覆盖 5 倍的请求量,并解锁时区和货币模块等有用模块。计划可以扩展到任何级别,包括每天数百万个请求。