C#编程获取IP地址的方法示例

发布时间 - 2026-01-10 22:46:43    点击率:

本文实例讲述了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、服务器端获取客户端请求IP和客户端机器名称

/// <summary>
/// 服务器端获取客户端请求IP和客户端机器名称
/// </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:这里再为大家推荐几款IP相关工具供大家参考使用:

IP地址归属地在线查询工具:
http://tools./aideddesign/ipcha

在线IP地址/子网掩码计算与转换工具:
http://tools./aideddesign/ip_net_calc

在线网络计算器|TCP/IP子网掩码计算与换算工具:
http://tools./aideddesign/ipcalc

更多关于C#相关内容感兴趣的读者可查看本站专题:《C#程序设计之线程使用技巧总结》、《WinForm控件用法总结》、《C#中XML文件操作技巧汇总》、《C#常见控件用法教程》、《C#数据结构与算法教程》、《C#数组操作技巧总结》及《C#面向对象程序设计入门教程》

希望本文所述对大家C#程序设计有所帮助。


# C#  # 获取  # IP地址  # c#获取客户端IP地址(考虑代理)  # 获取客户端IP地址c#/vb.net各自实现代码  # c# 获得本地ip地址的三种方法  # 如何用C#验证IP是否为局域网地址  # C#实现获取本地内网(局域网)和外网(公网)IP地址的方法分析  # C#获取本机IP地址(ipv4)  # winform C#获得Mac地址  # 子网掩码  # 默认网关的实例  # C#获取路由器外网IP  # MAC地址的实现代码  # C#实现获取设置IP地址小工具  # C#获取真实IP地址实现方法  # C# 获取客户端IPv4地址的示例代码  # 客户端  # 程序设计  # 操作技巧  # 相关内容  # 感兴趣  # 数据结构  # 给大家  # 更多关于  # 所述  # 几款  # 使用技巧  # 面向对象  # 转换工具  # 再为  # 归属地  # 讲述了  # ServerVariables  # Request  # string 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】  猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】  Laravel怎么判断请求类型_Laravel Request isMethod用法  微信小程序 canvas开发实例及注意事项  ,网页ppt怎么弄成自己的ppt?  如何快速配置高效服务器建站软件?  JS实现鼠标移上去显示图片或微信二维码  微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】  Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】  Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制  魔毅自助建站系统:模板定制与SEO优化一键生成指南  免费视频制作网站,更新又快又好的免费电影网站?  大学网站设计制作软件有哪些,如何将网站制作成自己app?  Laravel如何使用Collections进行数据处理?(实用方法示例)  如何在局域网内绑定自建网站域名?  JavaScript中如何操作剪贴板_ClipboardAPI怎么用  如何将凡科建站内容保存为本地文件?  laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法  php结合redis实现高并发下的抢购、秒杀功能的实例  制作公司内部网站有哪些,内网如何建网站?  HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】  如何快速搭建高效服务器建站系统?  Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践  HTML 中动态设置元素 name 属性的正确语法详解  悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤  Python图片处理进阶教程_Pillow滤镜与图像增强  如何快速生成凡客建站的专业级图册?  iOS发送验证码倒计时应用  Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理  海南网站制作公司有哪些,海口网是哪家的?  Laravel如何从数据库删除数据_Laravel destroy和delete方法区别  Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件  Laravel如何使用withoutEvents方法临时禁用模型事件  标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析  JS中对数组元素进行增删改移的方法总结  Laravel如何实现模型的全局作用域?(Global Scope示例)  如何在阿里云完成域名注册与建站?  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】  Laravel怎么在Blade中安全地输出原始HTML内容  Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率  Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】  香港服务器租用每月最低只需15元?  Laravel如何升级到最新版本?(升级指南和步骤)  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  如何用IIS7快速搭建并优化网站站点?  如何获取PHP WAP自助建站系统源码?  浅析上传头像示例及其注意事项