C#获取网络IP,获取ip地址

1 网络请求接口时,获取ip
01.

[HttpPost]
[Route("Login")]
public HttpResponseMessage UserLogin()
 {
 ReturnResult result = new ReturnResult() { code = "", msg = "" };
HttpContextBase context = (HttpContextBase)Request.Properties["MS_HttpContext"];//获取传统context
HttpRequestBase request = context.Request;//定义传统request对象

string ip=getIP();
}

02.获取ip的方法

public string  getIP()
{
string ip="":
//先获取网络请求的ip
string textip=HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] ?? HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];

         foreach (var hostAddress in Dns.GetHostAddresses(textip))
            {
                if (hostAddress.AddressFamily == AddressFamily.InterNetwork)
                  ip=  hostAddress.ToString();
            }


//如果网络ip为空,则获取局域网ip
  if(ip	=="")	
  {
           foreach (var hostAddress in Dns.GetHostAddresses(Dns.GetHostName()))
            {
                if (hostAddress.AddressFamily == AddressFamily.InterNetwork)
                    ip=hostAddress.ToString();
            }

  }
return ip;
}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值