HttpHelper.cs 1.5 KB
using System;

namespace DL.Utils
{
    public class HttpHelper
    {
        /// <summary>
        /// 检查IP是否合法
        /// </summary>
        /// <param name="ip"></param>
        /// <returns></returns>
        public static bool CheckIP(string ip,string name="")
        {
            //IP合法
            string pattern = @"^((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)$";
            bool rtn = System.Text.RegularExpressions.Regex.IsMatch(ip, pattern);
            if (!rtn)
            {
                LogUtil.Error($"【{name}】非法的IP地址:" + ip);
                return false;
            }
            return true;
        }
        /// <summary>
        /// Ping指定IP
        /// </summary>
        /// <param name="ip"></param>
        /// <returns></returns>
        public static bool PingIP(string ip)
        {
            //Ping服务端
            try
            {
                System.Net.NetworkInformation.Ping ping = new System.Net.NetworkInformation.Ping();
                System.Net.NetworkInformation.PingReply result = ping.Send(ip, 2000);
                ping.Dispose();
                if (result.Status != System.Net.NetworkInformation.IPStatus.Success)
                {
                    return false;
                }
                return true;
            }
            catch (Exception ex)
            {
                LogUtil.Error($"PingIP{ip}:", ex);
                return false;
            }
        }
    }
}