C# 獲取客戶端IPv4地址的示例代碼
更新時間:2020年12月18日 11:51:16 作者:IT浪潮之巔
這篇文章主要介紹了C# 獲取客戶端IPv4地址的示例代碼,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下
網(wǎng)上找了一些獲取客戶端IP的方法,但本地測試時,返回的是IPv6的表示方法"::1":
Host文件里面:# ::1 localhost
后來找了獲取IPv4的方法就可以了,比較好用:
public static string GetClientIPv4Address() { string ipv4 = String.Empty; foreach (IPAddress ip in Dns.GetHostAddresses(GetClientIP())) { if (ip.AddressFamily.ToString() == "InterNetwork") { ipv4 = ip.ToString(); break; } } if (ipv4 != String.Empty) { return ipv4; } // 利用 Dns.GetHostEntry 方法,由獲取的 IPv6 位址反查 DNS 紀(jì)錄, // 再逐一判斷何者為 IPv4 協(xié)議,即可轉(zhuǎn)為 IPv4 位址。 foreach (IPAddress ip in Dns.GetHostEntry(GetClientIP()).AddressList) //foreach (IPAddress ip in Dns.GetHostAddresses(Dns.GetHostName())) { if (ip.AddressFamily.ToString() == "InterNetwork") { ipv4 = ip.ToString(); break; } } return ipv4; } public static string GetClientIP() { if (null == HttpContext.Current.Request.ServerVariables["HTTP_VIA"]) { return HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]; } else { return HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]; } }
以上就是C# 獲取客戶端IPv4地址的示例代碼的詳細(xì)內(nèi)容,更多關(guān)于c# 獲取ipv4地址的資料請關(guān)注腳本之家其它相關(guān)文章!
您可能感興趣的文章:
- C# 實現(xiàn)FTP客戶端的小例子
- 詳細(xì)分析c# 客戶端內(nèi)存優(yōu)化
- C#使用Socket實現(xiàn)服務(wù)器與多個客戶端通信(簡單的聊天系統(tǒng))
- c#獲取客戶端IP地址(考慮代理)
- C#客戶端程序Visual Studio遠(yuǎn)程調(diào)試的方法詳解
- C#客戶端程序調(diào)用外部程序的3種實現(xiàn)方法
- C#實現(xiàn)FTP客戶端的案例
- C#實現(xiàn)WebSocket協(xié)議客戶端和服務(wù)器websocket sharp組件實例解析
- C#編程獲取客戶端計算機硬件及系統(tǒng)信息功能示例
- 詳解C# Socket簡單例子(服務(wù)器與客戶端通信)
- C# MJPEG 客戶端簡單實現(xiàn)方法
相關(guān)文章
C#獲取系統(tǒng)當(dāng)前日期和時間的示例詳解
這篇文章主要為大家詳細(xì)介紹了C#如何使用DateTime的Now靜態(tài)屬性動態(tài)獲得系統(tǒng)當(dāng)前日期和時間,文中的示例代碼講解詳細(xì),有需要的小伙伴可以參考一下2024-01-01