使用IPIP.net識別客戶端真實訪問地址,具體到國家,省,市

這個IP庫實測還是比較準確的,免費版的可以具體到國內城市,國外只能到國家名稱,免費版的自己定期更新Ip數據庫即可。

以下爲C#調用代碼

class Program
    {
        static void Main(string[] args)
        {
            try
            {
                //傳入要查詢的ip 和17monipdb.datx 下載的ip庫所在位置
                string address = IPAddress.FindIPAddress("1.198.219.205", @"D:\開發資料\資料\Code\IP地址獲取\IPAddress\IPAddress\bin\Debug"); 
                Console.WriteLine(address);
            }
            catch (IOException ioex)
            {
                Console.WriteLine(ioex.StackTrace);
            }
            catch (IPv4FormatException ipex)
            {
                Console.WriteLine(ipex.StackTrace);
            }
            Console.ReadKey(true);
        }
    }
    public class IPAddress
    {
        public static string FindIPAddress(string ip,string basePath)
        {
            string address = "";
            if (string.IsNullOrEmpty(ip))
            {
                return address;
            }
            try
            {
                string path = string.Format("{0}\\{1}", basePath, "17monipdb.datx");
                City city = new City(path);
                string[] arr = city.find(ip);
                if (arr != null && arr.Length > 0)
                {
                    address = string.Join("-", arr);
                }
            }
            catch (IOException ioex)
            {
                Console.WriteLine(ioex.StackTrace);
            }
            catch (IPv4FormatException ipex)
            {
                Console.WriteLine(ipex.StackTrace);
            }
            return address.TrimEnd("-".ToCharArray());
        }
    }

IPIP.net官網在

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章