Maison > Article > développement back-end > Comment utiliser IP pour faire correspondre les informations sur la ville en php
Cet article explique principalement comment utiliser l'IP pour faire correspondre les informations sur la ville en PHP. J'espère qu'il pourra vous aider.
1. Tout d'abord, vous devez obtenir la véritable adresse IP de l'utilisateur
function ip(){ if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')){ $ip = getenv('HTTP_CLIENT_IP'); }elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')){ $ip = getenv('HTTP_X_FORWARDED_FOR'); }elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')){ $ip = getenv('REMOTE_ADDR'); }elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')){ $ip = $_SERVER['REMOTE_ADDR']; } return preg_match("/[\d\.]{7,15}/", $ip, $matches) ? $matches[0] : 'unknown'; }
2 Utilisez une interface tierce pour faire correspondre la ville
Remarque :
Les informations sur la ville correspondante doivent être stockées dans la base de données pour faciliter une utilisation ultérieure
L'interface API fournie par le tiers est actuellement relativement stable et facile à utiliser par NetEase et Sina
1) Interface API de requête d'adresse IP Sina
Les données renvoyées au format json sont affichées ici
Interface : http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=adresse IP
Exemple de code : Fragment
$ip = ip();$url = 'http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip='.$ip;$res = file_get_contents($url);echo $res;die;
Le résultat est comme le montre la figure :
2) Interface API de l'adresse IP NetEase Youdao
Interface : http://www.youdao.com/smartresult-xml/search.s?type=ip&q= Adresse IP
Le résultat est tel qu'indiqué :
3) Interface API de la base de données d'adresses IP Taobao
Interface : http://ip.taobao.com/service/getIpInfo.php?ip =[chaîne d'adresse IP]
Exemple de code :
$ip = ip();$url = 'http://ip.taobao.com/service/getIpInfo.php?ip='.$ip;$res = file_get_contents($url);echo $res;die;
Le résultat est tel qu'indiqué dans la figure :
3. méthodes d'appel
Concevoir une interface de requête d'adresse IP cellulaire : http://www.hujuntao.com/api/ip/ip.php
Interface de requête d'adresse IP Tencent : http://fw.qq.com/ipaddress
Interface de requête d'adresse IP Sina : http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js
Interface de requête d'adresse IP Sohu : http://pv.sohu.com/ cityjson
Interface de requête d'adresse IP Google : http://j.maxmind.com/app/geoip.js
Interface de requête d'adresse IP Youdao : http://www.youdao.com/smartresult-xml/search. s
1616Interface de requête d'adresse IP:http://w.1616.net/chaxun/iptolocal.php
126 http://ip.ws.126.net/ipquery
hao123 http:// app.hao123.com/ipquery/getcity .php?rtype=2
Taobao http://ip.taobao.com/service/getIpInfo.php?ip=117.89.35.58
Réseau informatique du Pacifique http:// whois.pconline.com.cn/
Recommandations associées :
PHP détermine la correspondance IP
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!