IPAddress.Parse("localhost")抛出错误
c#
我有一个服务,它接受一个 ip 字符串并尝试将它解析为IPAdress
. 一些外部服务可能传入,127.0.0.1
但有一些传入localhost
,这会导致问题。
所以第一个有效,但第二个抛出错误
try
{
var foo = IPAddress.Parse("127.0.0.1");
}
catch
{
Console.WriteLine("parsing failed for foo");
}
try
{
var bar = IPAddress.Parse("localhost");
}
catch
{
Console.WriteLine("parsing failed for bar");
}
我是否必须检查 ip 字符串是否等于localhost
或有什么我可以使用的?
回答
如果要解析主机名和 IP 地址,可以将其传递给Dns.GetHostEntry
.
作为回报,这会给你一个可能的 IP 地址列表(如果它传递了一个主机名)或一个 IP 地址(如果它传递了一个 IP 地址)