翻譯—–IP地址轉換成IP Number並得到國家

來源:互聯網
上載者:User

今天在家裡沒有什麼事做,就在網上走走看,看了一篇根據IP地址找到國家;這個其實在我們工作都用到個,但是不知道是怎麼來做的.

在下面我將把http://www.codeproject.com/KB/aspnet/aspxcode_net.aspx翻譯過與大家一起來分享;

 

原理:現在各個國家的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一樣

      w.x.y.z分別對應真實的IP地址,eg:192.168.0.19;link

 

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段,即能得來是哪一個國家

關於從資料庫的代碼我就不多說了喲

 

關鍵是我們要明白原理,找到解決方案的思路;

國標IP範圍下載:http://files.cnblogs.com/caodaiming/ip-to-country.zip

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.