IP代表“ Internet协议”。这是一组规则和协议,该规则和协议控制了数据包的发送,接收和路由在Internet上的网络。 IP地址是在使用Internet协议进行通信的网络上分配给设备(例如计算机,服务器和网络设备)的数值标签。
IP地址有两个主要目的:
-
主机标识:连接到网络(包括Internet)的每个设备都分配了一个唯一的IP地址。该地址用于识别和在网络上找到设备。它类似于物理位置的街道地址。
-
路由:路由器使用IP地址来路由不同网络上的设备之间的数据包。例如,当您将请求发送到网站时,您的请求将分解为数据包,路由器使用目标IP地址确定将每个数据包发送到何处以达到其预期的目的地。
IP地址的主要类型:
-
ipv4(Internet协议版本4):这是您遇到的最常见的IP地址类型。 IPv4地址由四组数字组成,这些数字分隔为周期(例如,192.168.1.1)。
-
ipv6(Internet协议版本6):随着连接到Internet的越来越多的设备,IPv6被引入以提供更大的地址空间。 IPv6地址更长,以十六进制格式编写(例如,2001:0db8:85A3:0000:0000:0000:8A2E:0370:7334)。
IP地址是互联网运作方式的基本部分,允许设备在网络上相互通信,并启用为网络,电子邮件,流媒体,在线游戏等提供动力的数据交换。
。一体化:
步骤1:
转到Link并创建帐户,然后用令牌登录副本。此URL将用于获取客户信息。
步骤2:
要获取客户端IP地址,请致电API:
export const GET_IP_ADDRESS_API = 'https://api.bigdatacloud.net/data/client-ip'; //'https://api.ipify.org?format=json'
多数民众赞成,以下是完整的代码示例:
constants.js
export const GET_IP_ADDRESS_API = 'https://api.bigdatacloud.net/data/client-ip'; //'https://api.ipify.org?format=json'
const NEXT_PUBLIC_FIND_IP_KEY = 'dc2b------------1f'; // from https://www.findip.net/
export const getClientDataFromIP = ipAddress =>
`https://api.findip.net/${ipAddress}/?token=${NEXT_PUBLIC_FIND_IP_KEY}`;
helperFunction.js
export const getIPDataClient = async () => {
try {
const response = await fetch(GET_IP_ADDRESS_API);
const data = await response.json();
if (data?.ipString) {
const res = await fetch(getClientDataFromIP(data?.ipString));
const dataIP = await res.json();
if (data && dataIP) {
return {...data, ...dataIP};
}
}
return {};
} catch (error) {
return null;
}
};
HomeScreen.js
// Call the async function and handle the result
(async () => {
try {
const result = await getIPDataClient();
console.log('getIPDataClient', result);
alert(JSON.stringify(result));
} catch (error) {}
})();
// Call the async function and handle the result
响应:
[
"getIPDataClient",
{
"ipString": "xxx.xxx.xxx.xxx",
"ipNumeric": 34242432,
"ipType": "IPv4",
"isBehindProxy": false,
"city": {
"geoname_id": 4535342,
"names": {
"de": "Neu-Delhi",
"en": "New Delhi",
"es": "Nueva Delhi",
"fr": "New Delhi",
"ja": "ニューデリー",
"ko": "뉴델리",
"pt-BR": "Nova Deli",
"ru": "Нью-Дели",
"zh-CN": "新德里"
}
},
"continent": {
"code": "AS",
"geoname_id": 4535345,
"names": {
"de": "Asien",
"en": "Asia",
"es": "Asia",
"fa": " آسیا",
"fr": "Asie",
"ja": "アジア大陸",
"ko": "아시아",
"pt-BR": "Ásia",
"ru": "Азия",
"zh-CN": "亚洲"
}
},
"country": {
"geoname_id": 214343,
"is_in_european_union": false,
"iso_code": "IN",
"names": {
"de": "Indien",
"en": "India",
"es": "India",
"fa": "هند",
"fr": "Inde",
"ja": "インド",
"ko": "인도",
"pt-BR": "Índia",
"ru": "Индия",
"zh-CN": "印度"
}
},
"location": {
"latitude": 28.6139,
"longitude": 77.209,
"time_zone": "Asia/Kolkata",
"weather_code": "INXX0096"
},
"postal": {
"code": "110001"
},
"subdivisions": [
{
"geoname_id": 1273293,
"iso_code": "DL",
"names": {
"de": "Delhi",
"en": "Delhi",
"fr": "Delhi"
}
},
{
"geoname_id": 8347332,
"names": {
"en": "New Delhi"
}
}
],
"traits": {
"autonomous_system_number": 24560,
"autonomous_system_organization": "Bharti Airtel Limited",
"connection_type": "Cable/DSL",
"isp": "Bharti Airtel",
"organization": "Bharti Airtel Ltd.",
"user_type": "residential"
}
}
]