< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd>
原理:現在各個國家的IP都有一個IP Begin Number 和一個Ip End Number數字,把國家的開始的資料,各結束的資料都存在資料庫
最後通過一個計算公式把真實的IP位址轉換成Ip Number,從資料庫中找在Begin ,End之間的,如果在這間,就是這個國家的了;
關于各個國家的IP Number這個應該是國标的吧,應該不會變的,在文章的後提供下載下傳;
IP Number計算公式:
IP Number = 16777216*w + 65536*x + 256*y + z (1)
where
IP Address = w.x.y.z
說明:16777216,65536,256;這個數都是系數,就像圓周率3.14一樣
eg:
IP Address = 202.186.13.4
So, w = 202, x = 186, y = 13 and z = 4
IP Number = 16777216*202 + 65536*186 + 256*13 + 4
= 3388997632 + 12189696 + 3328 + 4
= 3401190660
這樣就得到一個Ip Number了,現在我們就可以到我們的資料庫去找它對就的IP段,即能得來是哪一個國家
關于從資料庫的代碼我就不多說了喲
關鍵是我們要明白原理,找到解決方案的思路;
本文轉自 netcorner 部落格園部落格,原文連結: http://www.cnblogs.com/netcorner/archive/2009/01/09/2912087.html ,如需轉載請自行聯系原作者