zoukankan      html  css  js  c++  java
  • C#获取IP和整数IP方法

    体验: http://tool.hovertree.com/info/ip/

    代码如下:
     1 using System;
     2 using System.Text;
     3 using System.Text.RegularExpressions;
     4 using System.Web;
     5 
     6 namespace HoverTree.HoverTreeFrame.HvtNet
     7 {
     8 public class HoverTreeIP
     9 {
    10 /// <summary>
    11 /// 获取真实IP
    12 /// </summary>
    13 /// <returns></returns>
    14 public static string GetHoverTreeIp()
    15 {//http://tool.hovertree.com/info/ip/
    16 string result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
    17 if (null == result || result == String.Empty)
    18 {
    19 result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
    20 }
    21 if (null == result || result == String.Empty)
    22 {
    23 result = HttpContext.Current.Request.UserHostAddress;
    24 }
    25 return result;
    26 }
    27 
    28 public static bool HvtIsIP(string ip)
    29 {
    30 return Regex.IsMatch(ip, @"^((23[0-3]|1d{2}|[1-9]d|[1-9]).)((25[0-5]|2[0-4]d|1?d{1,2}).){2}((25[0-5]|2[0-4]d|1?d{1,2}))$") ;
    31 }
    32 
    33 /// <summary>
    34 /// 把IP地址转为整数 hovertree.com
    35 /// </summary>
    36 /// <param name="ip"></param>
    37 /// <returns></returns>
    38 public static long HvtIpToLong(string ip)
    39 {
    40 char[] separator = new char[] { '.' };
    41 string[] items = ip.Split(separator);
    42 return long.Parse(items[0]) << 24
    43 | long.Parse(items[1]) << 16
    44 | long.Parse(items[2]) << 8
    45 | long.Parse(items[3]);
    46 }
    47 
    48 /// <summary>
    49 /// 把整数转为IP 何问起
    50 /// </summary>
    51 /// <param name="ipLong"></param>
    52 /// <returns></returns>
    53 public static string HvtLongToIp(long ipLong)
    54 {//http://hovertree.com/hvtart/bjae/cn5qrmxw.htm
    55 StringBuilder sb = new StringBuilder();
    56 sb.Append((ipLong >> 24) & 0xFF).Append(".");
    57 sb.Append((ipLong >> 16) & 0xFF).Append(".");
    58 sb.Append((ipLong >> 8) & 0xFF).Append(".");
    59 sb.Append(ipLong & 0xFF);
    60 return sb.ToString();
    61 }
    62 }

    类的代码将发布在HoverTreeCMS项目中。

    山水画

    ASP.NET开源CMS http://www.cnblogs.com/sosoft/p/cms.html

    开发技术文章收集 http://www.cnblogs.com/sosoft/p/kaifajishu.html

  • 相关阅读:
    Web.xml配置详解
    ANNOTATION 注解
    Gradle的使用
    Version Control
    Building Tool(Maven/Gradle)
    HTTP协议
    函数式编程
    injection
    Container
    Building Tool(Maven/Gradle)
  • 原文地址:https://www.cnblogs.com/sosoft/p/zhengshuip.html
Copyright © 2011-2022 走看看