C#編程獲取IP地址的方法示例
本文實(shí)例講述了C#編程獲取IP地址的方法。分享給大家供大家參考,具體如下:
1、獲取客戶端IP
/// <summary>
/// 獲取客戶端Ip
/// </summary>
/// <returns></returns>
public String GetClientIp()
{
String clientIP = "";
if (System.Web.HttpContext.Current != null)
{
clientIP = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (string.IsNullOrEmpty(clientIP) || (clientIP.ToLower() == "unknown"))
{
clientIP = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_REAL_IP"];
if (string.IsNullOrEmpty(clientIP))
{
clientIP = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
}
}
else
{
clientIP = clientIP.Split(',')[0];
}
}
return clientIP;
}
2、服務(wù)器端獲取客戶端請(qǐng)求IP和客戶端機(jī)器名稱
/// <summary>
/// 服務(wù)器端獲取客戶端請(qǐng)求IP和客戶端機(jī)器名稱
/// </summary>
public static void GetClientInfo()
{
OperationContext context = OperationContext.Current;
MessageProperties messageProperties = context.IncomingMessageProperties;
RemoteEndpointMessageProperty endpointProperty = messageProperties[RemoteEndpointMessageProperty.Name] as RemoteEndpointMessageProperty;
HttpRequestMessageProperty requestProperty = messageProperties[HttpRequestMessageProperty.Name] as HttpRequestMessageProperty;
string clientIp = !string.IsNullOrEmpty(requestProperty.Headers["X-Real-IP"]) ? requestProperty.Headers["X-Real-IP"] : endpointProperty.Address;
string clientName = Environment.MachineName;
Console.WriteLine("ClientIp: " + clientIp + "clientName:" + clientName);
}
PS:這里再為大家推薦幾款I(lǐng)P相關(guān)工具供大家參考使用:
IP地址歸屬地在線查詢工具:
http://tools.jb51.net/aideddesign/ipcha
在線IP地址/子網(wǎng)掩碼計(jì)算與轉(zhuǎn)換工具:
http://tools.jb51.net/aideddesign/ip_net_calc
在線網(wǎng)絡(luò)計(jì)算器|TCP/IP子網(wǎng)掩碼計(jì)算與換算工具:
http://tools.jb51.net/aideddesign/ipcalc
更多關(guān)于C#相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《C#程序設(shè)計(jì)之線程使用技巧總結(jié)》、《WinForm控件用法總結(jié)》、《C#中XML文件操作技巧匯總》、《C#常見控件用法教程》、《C#數(shù)據(jù)結(jié)構(gòu)與算法教程》、《C#數(shù)組操作技巧總結(jié)》及《C#面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》
希望本文所述對(duì)大家C#程序設(shè)計(jì)有所幫助。
- c#獲取客戶端IP地址(考慮代理)
- 獲取客戶端IP地址c#/vb.net各自實(shí)現(xiàn)代碼
- c# 獲得本地ip地址的三種方法
- 如何用C#驗(yàn)證IP是否為局域網(wǎng)地址
- C#實(shí)現(xiàn)獲取本地內(nèi)網(wǎng)(局域網(wǎng))和外網(wǎng)(公網(wǎng))IP地址的方法分析
- C#獲取本機(jī)IP地址(ipv4)
- winform C#獲得Mac地址,IP地址,子網(wǎng)掩碼,默認(rèn)網(wǎng)關(guān)的實(shí)例
- C#獲取路由器外網(wǎng)IP,MAC地址的實(shí)現(xiàn)代碼
- C#實(shí)現(xiàn)獲取設(shè)置IP地址小工具
- C#獲取真實(shí)IP地址實(shí)現(xiàn)方法
- C# 獲取客戶端IPv4地址的示例代碼
相關(guān)文章
基于c# Task自己動(dòng)手寫個(gè)異步IO函數(shù)
這篇文章主要介紹了如何基于c# Task自己動(dòng)手寫個(gè)異步IO函數(shù),幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下2021-03-03
C#使用AutoMapper實(shí)現(xiàn)類映射詳解
AutoMapper是一個(gè)用于.NET中簡(jiǎn)化類之間的映射的擴(kuò)展庫,這篇文章主要介紹了C#如何使用AutoMapper實(shí)現(xiàn)類映射,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-01-01
C#?winform實(shí)現(xiàn)多語言切換功能
這篇文章主要為大家詳細(xì)介紹了如何使用C#?winform實(shí)現(xiàn)多語言切換功能,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以了解下2024-02-02
C#中Dictionary與List的用法區(qū)別以及聯(lián)系詳解
List和Dictionary想必是我們平常用到最多的C#容器了,他們使用起來都很簡(jiǎn)單,這篇文章主要給大家介紹了關(guān)于C#中Dictionary與List的用法區(qū)別以及聯(lián)系的相關(guān)資料,需要的朋友可以參考下2023-11-11
C#?PaddleOCRSharp?OCR進(jìn)行疲勞測(cè)試
PaddleOCRSharp?是百度飛槳封裝的.NET版本?OCR?dll?類庫,OCR可以將圖像文件中的文本內(nèi)容進(jìn)行識(shí)別,下面我們就來看看如何通過它們實(shí)現(xiàn)疲勞測(cè)試吧2024-11-11

