Dns.GetHostEntry メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ホスト名または IP アドレスを IPHostEntry インスタンスに解決します。
オーバーロード
GetHostEntry(IPAddress) |
IP アドレスを IPHostEntry インスタンスに解決します。 |
GetHostEntry(String) |
ホスト名または IP アドレスを IPHostEntry インスタンスに解決します。 |
GetHostEntry(String, AddressFamily) |
ホスト名または IP アドレスを IPHostEntry インスタンスに解決します。 |
GetHostEntry(IPAddress)
- ソース:
- Dns.cs
- ソース:
- Dns.cs
- ソース:
- Dns.cs
IP アドレスを IPHostEntry インスタンスに解決します。
public:
static System::Net::IPHostEntry ^ GetHostEntry(System::Net::IPAddress ^ address);
public static System.Net.IPHostEntry GetHostEntry (System.Net.IPAddress address);
static member GetHostEntry : System.Net.IPAddress -> System.Net.IPHostEntry
Public Shared Function GetHostEntry (address As IPAddress) As IPHostEntry
パラメーター
- address
- IPAddress
IP アドレス。
戻り値
address
で指定するホストについてのアドレス情報を格納する IPHostEntry インスタンス。
例外
address
が null
です。
address
を解決するときにエラーが発生しました。
address
は無効な IP アドレスです。
例
次のコード例では、 メソッドを GetHostEntry 使用して IP アドレスをインスタンスに IPHostEntry 解決します。
public:
static void DoGetHostEntry(IPAddress^ address)
{
IPHostEntry^ host = Dns::GetHostEntry(address);
Console::WriteLine("GetHostEntry({0}) returns HostName: {1}", address->ToString(), host->HostName);
}
public static void DoGetHostEntry(IPAddress address)
{
IPHostEntry host = Dns.GetHostEntry(address);
Console.WriteLine($"GetHostEntry({address}) returns HostName: {host.HostName}");
}
Public Sub DoGetHostEntry(address As IPAddress)
Dim host as IPHostEntry = Dns.GetHostEntry(address)
Console.WriteLine($"GetHostEntry({address}) returns HostName: {host.HostName}")
End Sub
注釈
メソッドは GetHostEntry 、DNS サーバーに対して、IP アドレスに関連付けられている IP アドレスとエイリアスを照会します。
ローカル コンピューターに IPv6 がインストールされていない場合、IPv6 アドレスは メソッドの GetHostEntry 結果からフィルター処理されます。 その結果、 パラメーターで IPv6 結果のみが使用可能な場合は、空 IPHostEntry のインスタンスを address
取得できます。
Aliases返されるインスタンスの IPHostEntry プロパティは、このメソッドによって設定されず、常に空になります。
注意
このメンバーは、アプリケーションでネットワーク トレースを有効にすると、トレース情報を出力します。 詳細については、「 .NET Framework のネットワーク トレース」を参照してください。
適用対象
GetHostEntry(String)
- ソース:
- Dns.cs
- ソース:
- Dns.cs
- ソース:
- Dns.cs
ホスト名または IP アドレスを IPHostEntry インスタンスに解決します。
public:
static System::Net::IPHostEntry ^ GetHostEntry(System::String ^ hostNameOrAddress);
public static System.Net.IPHostEntry GetHostEntry (string hostNameOrAddress);
static member GetHostEntry : string -> System.Net.IPHostEntry
Public Shared Function GetHostEntry (hostNameOrAddress As String) As IPHostEntry
パラメーター
- hostNameOrAddress
- String
解決するホスト名または IP アドレス。
戻り値
hostNameOrAddress
で指定するホストについてのアドレス情報を格納する IPHostEntry インスタンス。
例外
hostNameOrAddress
パラメーターが null
です。
hostNameOrAddress
パラメーターの長さが 255 文字を超えています。
hostNameOrAddress
パラメーターを解決するときにエラーが発生しました。
hostNameOrAddress
パラメーターの IP アドレスが無効です。
例
次の例では、 メソッドを GetHostEntry 使用して IP アドレスをインスタンスに IPHostEntry 解決します。
public:
static void DoGetHostEntry(String^ hostname)
{
IPHostEntry^ host = Dns::GetHostEntry(hostname);
Console::WriteLine("GetHostEntry({0}) returns:", host->HostName);
for (int i = 0; i < host->AddressList->Length; i++)
{
Console::WriteLine(" {0}", host->AddressList[i]->ToString());
}
}
public static void DoGetHostEntry(string hostname)
{
IPHostEntry host = Dns.GetHostEntry(hostname);
Console.WriteLine($"GetHostEntry({hostname}) returns:");
foreach (IPAddress address in host.AddressList)
{
Console.WriteLine($" {address}");
}
}
Public Sub DoGetHostEntry(hostName As String)
Dim host as IPHostEntry = Dns.GetHostEntry(hostname)
Console.WriteLine($"GetHostEntry({hostname}) returns:")
Dim addresses As IPAddress() = host.AddressList
Dim index As Integer
For index = 0 To addresses.Length - 1
Console.WriteLine($" {addresses(index)}")
Next index
End Sub
注釈
メソッドは GetHostEntry 、ホスト名または IP アドレスに関連付けられている IP アドレスを DNS サーバーに照会します。
空の文字列が引数として hostNameOrAddress
渡された場合、このメソッドはローカル ホストの IPv4 アドレスと IPv6 アドレスを返します。
ホスト名が見つからなかった場合は、 SocketException 値 11001 (Windows ソケット エラー WSAHOST_NOT_FOUND) で例外が返されます。 DNS サーバーが応答しない場合は、この例外を返すことができます。 この例外は、名前が公式のホスト名または別名ではない場合、または照会対象のデータベースで見つからない場合にも返されます。
ArgumentExceptionパラメーターに または IPv6Anyが含まれているAny場合hostNameOrAddress
も、例外が返されます。
メソッドは GetHostEntry 、 パラメーターに IP リテラル文字列が渡された場合、アプリケーションがすべてのプロパティ セットを hostNameOrAddress
使用してインスタンスを IPHostEntry 返すことを前提としています。 これらのプロパティには、AddressListAliasesおよび HostNameが含まれます。 その結果、 メソッドの GetHostEntry 実装では、IP 文字列リテラルが渡されると、次の動作が発生します。
メソッドはアドレスの解析を試みます。 パラメーターに
hostNameOrAddress
有効な IP 文字列リテラルが含まれている場合、最初のフェーズは成功します。IP 文字列リテラルの IP アドレスを使用した逆引き参照が、ホスト名の取得を試みます。 この結果は、 プロパティとして設定されます HostName 。
この逆引き参照のホスト名は、名前に関連付けられている可能性のあるすべての IP アドレスを取得し、 プロパティとして AddressList 設定するために再び使用されます。
IPv4 文字列リテラルの場合、上記の 3 つの手順はすべて成功する可能性があります。 ただし、実際に別のホストに属している IPv4 アドレスの古い DNS レコードが返される可能性があります。 これにより、手順 3 が失敗し、例外がスローされる可能性があります (IPv4 アドレスには DNS PTR レコードがありますが、IPv4 アドレスの DNS A レコードはありません)。
IPv6 の場合、ほとんどの IPv6 デプロイでは IPv6 アドレスのリバース (PTR) レコードが登録されないため、上記の手順 2 は失敗する可能性があります。 そのため、このメソッドは、 プロパティの完全修飾ドメイン (FQDN) ホスト名として文字列 IPv6 リテラルを HostName 返す場合があります。
メソッドの GetHostAddresses 動作は、IP リテラルに関して異なります。 上記の手順 1 が成功した場合 (IP アドレスとして正常に解析されます)、そのアドレスはすぐに結果として返されます。 逆引き参照は試行されません。
ローカル コンピューターに IPv6 がインストールされていない場合、IPv6 アドレスは メソッドの GetHostEntry 結果からフィルター処理されます。 その結果、IPv6 のみが .parameter で使用可能な場合は、空 IPHostEntry のインスタンスを hostNameOrAddress
取得できます。
Aliases返されるインスタンスの IPHostEntry プロパティは、このメソッドによって設定されず、常に空になります。
注意
このメンバーは、アプリケーションでネットワーク トレースを有効にすると、トレース情報を出力します。 詳細については、「 .NET Framework のネットワーク トレース」を参照してください。
適用対象
GetHostEntry(String, AddressFamily)
- ソース:
- Dns.cs
- ソース:
- Dns.cs
- ソース:
- Dns.cs
ホスト名または IP アドレスを IPHostEntry インスタンスに解決します。
public:
static System::Net::IPHostEntry ^ GetHostEntry(System::String ^ hostNameOrAddress, System::Net::Sockets::AddressFamily family);
public static System.Net.IPHostEntry GetHostEntry (string hostNameOrAddress, System.Net.Sockets.AddressFamily family);
static member GetHostEntry : string * System.Net.Sockets.AddressFamily -> System.Net.IPHostEntry
Public Shared Function GetHostEntry (hostNameOrAddress As String, family As AddressFamily) As IPHostEntry
パラメーター
- hostNameOrAddress
- String
解決するホスト名または IP アドレス。
- family
- AddressFamily
IP を取得するアドレス ファミリ。 の場合 Unspecifiedは、アドレス ファミリに関係なくすべての IP を取得します。
戻り値
でIPHostEntryhostNameOrAddress
指定されたホストに関するアドレス情報を格納している インスタンス。
適用対象
.NET