Maison >développement back-end >tutoriel php >Comment utiliser IP pour faire correspondre les informations sur la ville en php

Comment utiliser IP pour faire correspondre les informations sur la ville en php

小云云
小云云original
2018-03-30 13:24:592058parcourir

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 :
Comment utiliser IP pour faire correspondre les informations sur la ville en php
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é :
Comment utiliser IP pour faire correspondre les informations sur la ville en php
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 :
Comment utiliser IP pour faire correspondre les informations sur la ville en php

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn