Maison > Article > développement back-end > PHP implémente la fonction de requête d'adresse IP
Avec le développement rapide d'Internet, les adresses IP sont devenues un élément indispensable des communications réseau. Les informations sur l'adresse IP sont très importantes pour la surveillance de la sécurité du réseau, la gestion du trafic et la publicité ciblée sur le commerce électronique. Par conséquent, afin de permettre aux utilisateurs d'interroger plus facilement les informations sur l'adresse IP/le nom de domaine, de nombreux sites Web proposent des fonctions de requête d'adresse IP. Cet article présentera comment utiliser PHP pour implémenter la fonction de requête d'adresse IP pour référence des lecteurs.
1. Qu'est-ce qu'une adresse IP ?
L'adresse IP (Internet Protocol Address) est l'adresse du protocole réseau, qui est l'adresse du protocole Internet (Internet Protocol). Chaque appareil du réseau a besoin d'une adresse IP pour communiquer. Une adresse IP consiste en un nombre binaire de 32 bits, généralement divisé en quatre octets, chacun allant de 0 à 255. Par exemple, « 192.168.0.1 » est une adresse IP.
2. Obtenir l'adresse IP
En PHP, il existe de nombreuses façons d'obtenir l'adresse IP. Les suivantes sont couramment utilisées :
function getIP(){ if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])){ $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; }elseif(isset($_SERVER['HTTP_CLIENT_IP'])){ $ip = $_SERVER['HTTP_CLIENT_IP']; }else{ $ip = $_SERVER['REMOTE_ADDR']; } return $ip; }Les adresses IP étant disponibles sous différents formats, elles peuvent être converties au format numérique pour un traitement plus facile. Le code suivant convertit l'adresse IP en un entier non signé de 32 bits :
function ip2long(string $ip): int { return sprintf("%u", ip2long($ip)); }3. Requête d'adresse IP Pendant le processus de requête d'adresse IP, nous devons accéder au API pour obtenir les données dont nous avons besoin. Cet article prend l'API Taobao comme exemple pour présenter comment utiliser PHP pour obtenir des informations sur l'adresse IP. Tout d'abord, enregistrez un compte sur la plateforme ouverte Taobao et postulez pour l'interface API, puis obtenez l'adresse d'accès à l'API et l'AppKey. Ensuite, nous pouvons utiliser le code suivant pour obtenir les informations de localisation et les informations sur l'opérateur de l'adresse IP via l'API.
function getIpInfo($ip, $appkey){ $url = 'http://ip.taobao.com/service/getIpInfo.php?ip='.trim($ip).'&soft='.$appkey; $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); $output = curl_exec($ch); curl_close($ch); $data = json_decode($output,true); return $data; }Le code ci-dessus épisse d'abord l'adresse et les paramètres de l'interface API, puis utilise la bibliothèque CURL pour lancer une requête HTTP et renvoie enfin les données au format JSON. Appelez cette fonction pour obtenir des informations IP. 4. Implémentation complète du code Ce qui suit est l'implémentation complète du code PHP :
function getIP(){ if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])){ $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; }elseif(isset($_SERVER['HTTP_CLIENT_IP'])){ $ip = $_SERVER['HTTP_CLIENT_IP']; }else{ $ip = $_SERVER['REMOTE_ADDR']; } return $ip; } function ip2long(string $ip): int { return sprintf("%u", ip2long($ip)); } function getIpInfo($ip, $appkey){ $url = 'http://ip.taobao.com/service/getIpInfo.php?ip='.trim($ip).'&soft='.$appkey; $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); $output = curl_exec($ch); curl_close($ch); $data = json_decode($output,true); return $data; } $ip = getIP(); $appkey = 'YOUR_APPKEY'; //替换为自己的AppKey $info = getIpInfo($ip, $appkey); print_r($info);Le code ci-dessus implémente l'obtention de l'adresse IP d'accès et la conversion de l'IP adresse Pour le format numérique, interrogez les informations sur l'adresse IP et d'autres fonctions. Les lecteurs peuvent l'appliquer à leurs propres sites Web et effectuer le développement secondaire correspondant. En bref, la fonction de requête d'adresse IP a une valeur d'application étendue dans les applications réseau. L'implémentation de cette fonction en écrivant en PHP peut rendre la requête plus pratique et plus rapide. Il convient de noter que lorsque vous utilisez des API tierces, vous devez respecter les réglementations légales et les mesures de sécurité des données en vigueur pour éviter toute utilisation abusive des informations.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!