public static IPAddress GetIpAddress(string text)
{
// Make sure the IP address is valid!
IPAddress Address;
bool isValid = IPAddress.TryParse(text, out Address);
// If the IP address is invalid, try to parse as domain name
if (!isValid)
{
// Try to get dns value
IPAddress[] Addresses;
try {
Addresses = Dns.GetHostAddresses(text);
}
catch {
throw new Exception("Invalid Hostname or IP Address");
}
if (Addresses.Length == 0)
throw new Exception("Invalid Hostname or IP Address");
// Return first address
return Addresses[0];
}
return Address;
}