geoip+php示例:通过ip,获取国家名称和代码

GeoIP + PHP的使用

方法一:

下载 GeoIP 的 PHP 文件geoip.inc,保存为 geoip.inc.php

http://sjolzy.cn/php/GeoIP/bak/geoip.inc

php使用代码

<?php
include("geoip.inc.php");
$gi = geoip_open("GeoIP.dat",GEOIP_STANDARD);
$country_code = geoip_country_code_by_addr($gi, $_SERVER['REMOTE_ADDR']);
$country_name = geoip_country_name_by_addr($gi, $_SERVER['REMOTE_ADDR']);
geoip_close($gi);

$jsonEcho = array();
$jsonEcho["error"] = 0;
$jsonEcho["country_code"] = $country_code;
$jsonEcho["country_name"] = $country_name;

function jsonp($object, $callback = 'callback') {
		if (!empty($_GET[$callback])) {
			header('Content-Type: application/x-javascript');
		} else {
						header('Content-Type: application/json');
		}
		return $_GET[$callback].'('.json_encode($object).')';
}

echo jsonp($jsonEcho);

?>

注:在本地测试的话因 为$_SERVER[‘REMOTE_ADDR‘]和$_SERVER[‘REMOTE_ADDR‘]可能是127.0.0.1,所 以输出的内容为空。可以自己带入IP测试

方法二:

把 GeoIP 安装成 PHP 扩展

yum install GeoIP GeoIP-data GeoIP-devel

下载 GeoIP 数据库

wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz

gzip -d GeoLiteCity.dat.gz

mv GeoLiteCity.dat /var/lib/GeoIP/GeoIPCity.dat

下载 GeoIP 的 PECL 扩展

下载地址 http://pecl.php.net/package/geoip

wget -c http://pecl.php.net/get/geoip-1.0.7.tgz

tar -zxvf geoip-1.0.7.tgz

安 装 GeoIP 的 PECL 扩展

cd geoip-1.0.7

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config --with-geoip

make

make install

在 php.ini 里加上

extension=geoip.so

接着重启一下 php 就行了(nginx+php的情况,而apache+php就不用重启了)

现在,你可以使用 php 手册里的 GeoIP 部份函数了

http://cn.php.net/manual/en/book.geoip.php

参考:http://blog.csdn.net/prince2270/article/details/4592753

时间: 2024-08-07 00:17:28

geoip+php示例:通过ip,获取国家名称和代码的相关文章

根据IP获取国家

国外的还算比较权威的IP地址库,而且免费,每天调用次数不超过1000免费.超过另收费. public string Ip2Country(string ip) { try { string url = "http://api.ipinfodb.com/v3/ip-country/?key=<your key,should regist first>&ip=" + ip; string rst = HttpCrossDomain.Get(url,10000); if

Java根据IP获取国家省级地市信息

package com.ust.map; import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.URL;import java.net.URLConnection;import net.sf.json.JSONObject;public class getAddressByIP{public String getAddressByIP(){

Laravel根据Ip获取国家,城市信息

https://blog.csdn.net/zhezhebie/article/details/79097133 1.安装: composer require geoip2/geoip2:~2.0 2.用法: <?php require_once 'vendor/autoload.php'; use GeoIp2\Database\Reader; // This creates the Reader object, which should be reused across // lookups

获取局域网中指定IP或是主机名称的所有文件夹及其搜索文件

最近做个功能在局域网中所有指定文件,于是花了点精力完成了部分功能,先贴上 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using Syst

php利用新浪接口查询ip获取地理位置示例

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 <?php function getIPLoc_sina($queryIP){   $url = 'http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip='.$queryIP;   $ch = curl_init($url);    curl_setopt($ch,CURLOPT_ENCODING ,'utf8');

ip获取所在城市名称等信息接口,及函数

函数: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 function https_request($url,$data = null){     $curl = curl_init();          curl_setopt($cur

获取网卡名称及其IP地址的方法

代码 # -*- coding: utf-8 -*- import psutil #获取网卡名称和其ip地址,不包括回环 def get_netcard(): netcard_info = [] info = psutil.net_if_addrs() for k,v in info.items(): for item in v: if item[0] == 2 and not item[1]=='127.0.0.1': netcard_info.append((k,item[1])) retu

通过GeoIP2分析访问者IP获取地理位置信息

原文链接:http://blog.csdn.net/johnnycode/article/details/42028841 MaxMind GeoIP2 服务能识别互联网用户的地点位置与其他特征,应用广泛,包括个性化定制内容.诈欺检测.广告定向.网站流量分析.执行规定.地理目标定位.地理围栏定位 (geo-fencing)以及数字版权管理.目前使用 GeoIP 更多是配合Nginx或Apache服务器进行日志分析获取网站访问量地域分布状况. GeoIP 分为商业版和免费版,免费版比商业版精度差了

使用python根据ip获取目标地理位置信息

信息安全很重要,你的地理位置可能暴露了!!! 使用python和GeoLite2获取目标的地理位置 1 #! /usr/bin/env python 2 #-*- coding:utf-8 -*- 3 4 ''' 5 Created on 2019年12月8日 6 7 @author: Admin 8 ''' 9 10 from copy import copy 11 import optparse 12 import re 13 14 import geoip2.database 15 16