當我使用HttpContext.Current.Request.UserHostAddress
時,有時會返回「192.168.0.17」(IPv4),有時會返回「fe80 :: 99be:a05d:7938:1c30%8」(IPv6)同一臺電腦和導航儀。HttpContext IP問題
我該做什麼才能返回IPv4?
當我使用HttpContext.Current.Request.UserHostAddress
時,有時會返回「192.168.0.17」(IPv4),有時會返回「fe80 :: 99be:a05d:7938:1c30%8」(IPv6)同一臺電腦和導航儀。HttpContext IP問題
我該做什麼才能返回IPv4?
找到了一個解決方案,有人被黑了。不能說,如果它會工作,壽=)
http://www.eggheadcafe.com/software/aspnet/30078410/request-object.aspx
檢查出4GuysFromRolla這篇文章,看看是否有幫助的。我認爲這是你正在尋找的信息。
http://aspnet.4guysfromrolla.com/articles/071807-1.aspx
〜〜的md5sum
public static string GetIP4Address()
{
string IP4Address = String.Empty;
foreach (IPAddress IPA in Dns.GetHostAddresses(HttpContext.Current.Request.UserHostAddress))
{
if (IPA.AddressFamily.ToString() == "InterNetwork")
{
IP4Address = IPA.ToString();
break;
}
}
if (IP4Address != String.Empty)
{
return IP4Address;
}
foreach (IPAddress IPA in Dns.GetHostAddresses(Dns.GetHostName()))
{
if (IPA.AddressFamily.ToString() == "InterNetwork")
{
IP4Address = IPA.ToString();
break;
}
}
return IP4Address;
}
http://stackoverflow.com/a/8597351/2788478 – 2017-03-20 17:06:15
感謝您的解決方案。 +1 – Cesar 2009-11-13 10:01:25
僅用幾秒鐘就可以完全擊敗我。 +1 – 2009-11-13 15:26:03
@ md5sum:那麼好消息是,我們沒有人值得實際代碼的信譽;) – 2009-11-13 15:31:51