C# 相当于C中的isSiteLocalAddress#
在java中,有一种方法inetaddress.issiteLocalAddRess来确定IP地址是否与站点的IP地址在同一范围内,我们在C#C# 相当于C中的isSiteLocalAddress#,c#,dns,ipconfig,C#,Dns,Ipconfig,在java中,有一种方法inetaddress.issiteLocalAddRess来确定IP地址是否与站点的IP地址在同一范围内,我们在C#private bool isplocal(IPAddress IPAddress)中是否有任何等效方法 { String[]StraryPaddress=ipaddress.ToString().Split(新字符串[]{“.”},StringSplitOptions.RemoveEmptyEntries); int[]iaryIPAddress=new
private bool isplocal(IPAddress IPAddress)中是否有任何等效方法
{
String[]StraryPaddress=ipaddress.ToString().Split(新字符串[]{“.”},StringSplitOptions.RemoveEmptyEntries);
int[]iaryIPAddress=new int[]{int.Parse(straryIPAddress[0])、int.Parse(straryIPAddress[1])、int.Parse(straryIPAddress[2])、int.Parse(straryIPAddress[3]);
如果(iaryIPAddress[0]==10 | | |(iaryIPAddress[0]==192&&iaryIPAddress[1]==168 | |(iaryIPAddress[0]==172&&iaryIPAddress[1]>=16&&iaryIPAddress[1]从本质上说,您试图检查给定的IP地址是否是私有的。最初的答案是:我在寻找一些与IssiteLocaladdress相同的内置函数,但这也可以完成任务。
private bool isIPLocal(IPAddress ipaddress)
{
String[] straryIPAddress = ipaddress.ToString().Split(new String[] { "." }, StringSplitOptions.RemoveEmptyEntries);
int[] iaryIPAddress = new int[] { int.Parse(straryIPAddress[0]), int.Parse(straryIPAddress[1]), int.Parse(straryIPAddress[2]), int.Parse(straryIPAddress[3]) };
if (iaryIPAddress[0] == 10 || (iaryIPAddress[0] == 192 && iaryIPAddress[1] == 168) || (iaryIPAddress[0] == 172 && (iaryIPAddress[1] >= 16 && iaryIPAddress[1] <= 31)))
{
return true;
}
else
{
// IP Address is "probably" public. This doesn't catch some VPN ranges like OpenVPN and Hamachi.
return false;
}
}