@abstractapi/javascript-ip-geolocation 中文文档教程
AbstractAPI javascript-ip-geolocation library
通过几行代码将功能强大的 Abstract 中的 IP 地理定位 API 集成到您的 Javascript 或 NodeJS 项目中。
Abstract 的 IP Geolocation API 是一种快速、轻量级、现代和 RESTful JSON API,允许您查找 IPv4 或 IPv6 地址的位置、时区、国家/地区详细信息等。
它使用起来非常简单:您只需提交您的 API 密钥和 IP 地址,API 将通过对其地理位置的评估以及其他详细信息(如时区、是否为 VPN 地址等)进行响应。
验证和验证 IP 地址是减少网站或应用程序中出现低质量数据和欺诈或风险用户的机会的关键步骤。
Documentation
Installation
您可以从我们的 CDN 通过 npm 安装 javascript-ip-geolocation,或者将源代码下载到您的项目中。
ES6
从 npm 下载并安装库:
npm install @abstractapi/javascript-ip-geolocation --save
在你的项目中,导入它并配置你的 API_KEY
:
import {AbstractIpGeolocation} from 'javascript-ip-geolocation'
AbstractIpGeolocation.configure('API_KEY')
Browser, from the CDN
你可以让浏览器通过 jsDeliver CDN 从最近的位置下载库:
<script src="https://cdn.jsdelivr.net/npm/@abstractapi/javascript-core@latest/dist/javascript-core.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@abstractapi/javascript-ip-geolocation@latest/dist/javascript-ip-geolocation.js"></script>
<script>
AbstractEmailValidation.configure('API_KEY');
// use the library
</script>
Browser, from the built file
你可以自己构建库,或者从 dist
目录获取已经构建的文件并加载它:
<script src="dist/javascript-ip-geolocation.js"></script>
<script>
AbstractIpGeolocation.configure('API_KEY');
// use the library
</script>
API key
从 抽象网站。
Quickstart
AbstractAPI javascript-ip-geolocation 库返回一个 Promise< /a> 因此您可以使用以下方法之一:
Async/Await
async function validateIP(ipAddress) {
let response = await AbstractIpGeolocation.look_up(ipAddress);
console.log(response);
}
Using .then()
function validateIP(ipAddress) {
AbstractIpGeolocation.look_up(ipAddress)
.then(response => {
console.log(response);
})
}
API response
API 响应包含以下字段:
| 参数 | 类型 | 详情 | | - | - | - | | 参数 | 类型 | 详情 | | ip地址 | 字符串 | 请求的IP地址 | | 城市 | 字符串 | 城市的名称。 | | 城市geonameid | 字符串 | 城市的地理名称 ID。 | | 地区 | 字符串 | 城市所在的州或省。 | | 区域iso代码 | 字符[2] | 州或省的 ISO 3166-2 代码。 | | 地区geonameid | 字符串 | 州或省的地理名称 ID。 | | 邮政编码 | 字符串 | 邮政编码。 | | 国家 | 字符串 | 国名。 | | 国家代码 | 字符[2] | 国家/地区的 ISO 3166-1 alpha-2 代码。 | | 国家geonameid | 字符串 | 国家的地理名称 ID。 | | 国家是eu | 布尔值 | 如果该国家/地区在欧盟,则为真,否则为假。 | | 大陆| 字符串 | 大陆的名字。 | | 大陆代码 | 字符[2] | 2 个字母的大陆代码:AF、AS、EU、NA、OC、SA、AN | | 大陆地理名称id | 字符串 | 大陆的地理名称 ID。 | | 经度 | 浮动 | 经度的小数。 | | 纬度 | 浮动 | 纬度的小数。 | | 安全性> 是VPN | 布尔值 | IP 地址是从 VPN 使用还是使用代理 | | 时区> 姓名 | 字符串 | 来自 IANA 时区数据库的时区名称。 | | 时区> 缩写 | 字符串 | Timezone 的缩写,同样来自 IANA Time Zone Database。 | | 时区> gmt偏移 | 字符串 | 时区与格林威治标准时间 (GMT) 的偏移量。 | | 时区> 当前时间 | 字符串 | 当地时区的当前时间。 | | 时区> 是 dst | 布尔值 | 如果该位置当前处于夏令时 (DST),则为真。 | | 标志 > svg | 字符串 | 链接到 SVG 格式的国家国旗的托管版本。 | | 标志 > PNG | 字符串 | 链接到 PNG 格式的国家国旗的托管版本。 | | 标志 > 表情符号 | 字符串 | 国家的国旗作为表情符号。 | | 标志 > 统一码 | 字符串 | Unicode 中的国家/地区标志。 | | 货币 > 货币名称 | 字符串 | 货币名称。 | | 货币 > 货币代码 | 字符串 | ISO 4217 格式的货币代码。 | | 连接> 连接类型 | 字符串 | 网络连接类型:拨号、有线/DSL、蜂窝、企业 | | 连接> 自主系统编号 | 单位 32 | 自治系统编号 | | 连接> 自治系统组织 | 字符串 | 自治系统组织名称。 | | 连接> isp名字 | 字符串 | 互联网服务提供商 (ISP) 名称。 | | 连接> 组织名称 | 字符串 | 机构名称。 |
Detailed documentation
您可以在 Abstract 帮助页面 中找到更多信息和请求示例。
Getting help
如果您在安装或使用该库时需要帮助,请联系 Abstract 的支持。
有关错误报告和功能建议,请使用此存储库问题页面。
Contribution
贡献总是受欢迎的,因为它们提高了我们提供给社区的图书馆的质量。
请提供适当单元测试涵盖的更改,并将它们发布到拉取请求页面。
NPM
Installation
在命令行中运行 npm install
以安装依赖项。 要更新这些依赖项,您需要运行 npm update
。
Building
要构建库并在 dist 目录中生成缩小文件,您需要运行 npm run build
。
要构建库,您需要运行 npm run build:lib
。
Test
要运行测试套件,您需要运行:npm run test
。
AbstractAPI javascript-ip-geolocation library
Integrate the powerful IP Geolocation API from Abstract in your Javascript or NodeJS project in a few lines of code.
Abstract's IP Geolocation API is a fast, lightweight, modern, and RESTful JSON API allowing you to look up the location, timezone, country details, and more of an IPv4 or IPv6 address.
It's very simple to use: you only need to submit your API key and an IP address, and the API will respond with an assessment of its geographical location, as well as additional details like the timezone, if it's a VPN address, and more.
Validating and verifying IP addresses is a critical step to reducing the chances of low-quality data and fraudulent or risky users in your website or application.
Documentation
Installation
You can install javascript-ip-geolocation via npm, from our CDN, or download the source into your project.
ES6
Download and install the library from npm:
npm install @abstractapi/javascript-ip-geolocation --save
In your project, import it and configure your API_KEY
:
import {AbstractIpGeolocation} from 'javascript-ip-geolocation'
AbstractIpGeolocation.configure('API_KEY')
Browser, from the CDN
You can have the browser download the library from its closest location through jsDeliver CDN:
<script src="https://cdn.jsdelivr.net/npm/@abstractapi/javascript-core@latest/dist/javascript-core.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@abstractapi/javascript-ip-geolocation@latest/dist/javascript-ip-geolocation.js"></script>
<script>
AbstractEmailValidation.configure('API_KEY');
// use the library
</script>
Browser, from the built file
You can build the library yourself, or get the already built file from the dist
directory and load it:
<script src="dist/javascript-ip-geolocation.js"></script>
<script>
AbstractIpGeolocation.configure('API_KEY');
// use the library
</script>
API key
Get your API key for free and without hassle from the Abstact website.
Quickstart
AbstractAPI javascript-ip-geolocation library returns a Promise so you can use one of the following approaches:
Async/Await
async function validateIP(ipAddress) {
let response = await AbstractIpGeolocation.look_up(ipAddress);
console.log(response);
}
Using .then()
function validateIP(ipAddress) {
AbstractIpGeolocation.look_up(ipAddress)
.then(response => {
console.log(response);
})
}
API response
The API response contains the following fields:
| PARAMETER | TYPE | DETAILS | | - | - | - | | Parameter | Type | Details | | ipaddress | String | The requested IP address | | city | String | City's name. | | citygeonameid | String | City's geoname ID. | | region | String | State or province in which the the city is located. | | regionisocode | Char[2] | State or province's ISO 3166-2 code. | | regiongeonameid | String | State or province's geoname ID. | | postalcode | String | ZIP or postal code. | | country | String | Country's name. | | countrycode | Char[2] | Country's ISO 3166-1 alpha-2 code. | | countrygeonameid | String | Country's geoname ID. | | countryiseu | Boolean | True if the country is in the EU, false if it is not. | | continent | String | Continent's name. | | continentcode | Char[2] | 2 letter continent code: AF, AS, EU, NA, OC, SA, AN | | continentgeonameid | String | Continent's geoname ID. | | longitude | Float | Decimal of the longitude. | | latitude | Float | Decimal of the latitude. | | security > isvpn | Boolean | Whether the IP address is using from a VPN or using a proxy | | timezone > name | String | Timezone's name from the IANA Time Zone Database. | | timezone > abbreviation | String | Timezone's abbreviation, also from the IANA Time Zone Database. | | timezone > gmtoffset | String | Timezone's offset from Greenwich Mean Time (GMT). | | timezone > currenttime | String | Current time in the local time zone. | | timezone > isdst | Boolean | True if the location is currently in Daylight Savings Time (DST). | | flag > svg | String | Link to a hosted version of the country's flag in SVG format. | | flag > png | String | Link to a hosted version of the country's flag in PNG format. | | flag > emoji | String | Country's flag as an emoji. | | flag > unicode | String | Country's flag in unicode. | | currency > currencyname | String | The currency's name. | | currency > currencycode | String | The currency's code in ISO 4217 format. | | connection > connectiontype | String | Type of network connection: Dialup, Cable/DSL, Cellular, Corporate | | connection > autonomoussystemnumber | Uint32 | Autonomous System number | | connection > autonomoussystemorganization | String | Autonomous System Organization name. | | connection > ispname | String | Internet Service Provider (ISP) name. | | connection > organization_name | String | Organization name. |
Detailed documentation
You will find additional information and request examples in the Abstract help page.
Getting help
If you need help installing or using the library, please contact Abstract's Support.
For bug report and feature suggestion, please use this repository issues page.
Contribution
Contributions are always welcome, as they improve the quality of the libraries we provide to the community.
Please provide your changes covered by the appropriate unit tests, and post them in the pull requests page.
NPM
Installation
Run npm install
in the command line to install the dependencies. To update those dependencies you need to run npm update
.
Building
To build the library and generate the minified file in the dist directory, you need to run npm run build
.
To build the lib, you need to run npm run build:lib
.
Test
To run the test suite, you need to run: npm run test
.