Chào các bạn, sau một thời gian tiềm hiểu hôm nay mình hướng dẫn các bạn lấy địa chỉ IP và cấc thông tin liên quan đến User như Longitude, Latitude, thành phố, quốc gia, ... để sau này chũng ta lỡ có viết web cần đến các thông tin này thì cũng dễ dàng hơn
Cách 1: lấy địa chỉ IP, cách này mình không dùng nên mình cũng nói sơ qua cách làm, cách này rất đơn giản, các bạn chỉ cần gọi
Mã:
Request.ServerVariables["REMOTE_ADDR"];
Hoặc
Request.UserHostAddress;
Ví dụ:
Mã:
Label1.Text = Request.UserHostAddress;
Cách này khi các bạn chạy lên địa chỉ IP của nó sẽ là 127.0.0.1 vì chúng ta đang chạy trên localhost. Nếu đưa lên mạng internet thì nó sẽ lấy địa chỉ IP của người dùng cụ thể như 115.12.25.63 chẳng hạn, cách này mình chưa biết sao cả vì đây là mình nghe theo anh zstar, mà mình nghĩ anh í nói chắc ko sai đâu ^^
Cách 2: cách này mình sẽ lấy địa chỉ IP của máy thông qua trang web http://checkip.dyndns.org/
Lấy cái đó về và cắt chuỗi nó đi, đây là cái hàm của nó
Mã:
public string GetIPv4Address()
{
String direction = "";
WebRequest request = WebRequest.Create("http://checkip.dyndns.org/");
using (WebResponse response = request.GetResponse())
using (StreamReader stream = new StreamReader(response.GetResponseStream()))
{
direction = stream.ReadToEnd();
}
//Search for the ip in the html
int first = direction.IndexOf("Address: ") + 9;
int last = direction.LastIndexOf("</body>");
direction = direction.Substring(first, last - first);
return direction;
}
Tiện thể mình cũng lấy luôn cái hàm lấy địa chỉ IPv6
Mã:
public string GetIPv6Address()
{
//Get Host Name
string stringHostName = Dns.GetHostName();
//Get Ip Host Entry
IPHostEntry ipHostEntries = Dns.GetHostEntry(stringHostName);
//Get Ip Address From The Ip Host Entry Address List
IPAddress[] arrIpAddress = ipHostEntries.AddressList;
return arrIpAddress[arrIpAddress.Length - 1].ToString();
}
và địa chỉ IP Local
Mã:
public static string GetLocalIP()
{
string ipv4Address = String.Empty;
foreach (IPAddress currrentIPAddress in Dns.GetHostAddresses(Dns.GetHostName()))
{
if (currrentIPAddress.AddressFamily.ToString() == System.Net.Sockets.AddressFamily.InterNetwork.ToString())
{
ipv4Address = currrentIPAddress.ToString();
break;
}
}
return ipv4Address;
}
khi đã có được địa chỉ IP thì để lấy các thông tin như thành phố, đất nước, kinh độ, vĩ độ,... thì mình biết có 3 cách, trong 3 cách dưới đây mình đều lấy IP từ cái hàm GetIPv4Address()
Cách 1: cách này các bạn sài qua 1 thư viện DLL, cái đó download ở đây _http://ipaddressextensions.codeplex.com
cái này cực dễ sài, khi vào trang web đó người ta đã có ví dụ sẵn cho bạn rồi đó, tuy nhiên thư viện này chỉ lấy được Country (Vietnam), Country Code (VN), nó rất hạn chế [IMG]images/smilies/Cry.gif[/IMG]
cách này mình cũng không dùng đến [IMG]images/smilies/Shame_on_you.gif[/IMG]
Cách 2: là dùng 1 jQuery, cách này để ngày mai nhá, tài liệu mình để trên cty nên quên mất cái link nó ở đâu rồi, mai mình hưỡng dân tiếp, tạm thời trước mắt vậy đã nhá, sozy các bác
View more random threads:
Dưới ánh nắng mặt trời đang lên, những đống pallet nhựa An Giang trải dài mênh mông như những bức tranh tự nhiên đầy sắc màu. Mỗi chiếc pallet nhựa không chỉ là một vật dụng thông thường mà còn là...
Pallet nhựa An Giang giao hàng...