Dns.GetHostEntry Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Risolve un nome host o un indirizzo IP in un'istanza di IPHostEntry.
Overload
GetHostEntry(IPAddress) |
Risolve un indirizzo IP in un'istanza di IPHostEntry. |
GetHostEntry(String) |
Risolve un nome host o un indirizzo IP in un'istanza di IPHostEntry. |
GetHostEntry(String, AddressFamily) |
Risolve un nome host o un indirizzo IP in un'istanza di IPHostEntry. |
GetHostEntry(IPAddress)
- Origine:
- Dns.cs
- Origine:
- Dns.cs
- Origine:
- Dns.cs
Risolve un indirizzo IP in un'istanza di 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
Parametri
- address
- IPAddress
Indirizzo IP.
Restituisce
Istanza di IPHostEntry contenente informazioni di indirizzo sull'host specificato in address
.
Eccezioni
address
è null
.
Si è verificato un errore durante la risoluzione del parametro address
.
address
è un indirizzo IP non valido.
Esempio
Nell'esempio di codice seguente viene usato il GetHostEntry metodo per risolvere un indirizzo IP in un'istanza IPHostEntry di .
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
Commenti
Il GetHostEntry metodo esegue una query su un server DNS per gli indirizzi IP e gli alias associati a un indirizzo IP.
Gli indirizzi IPv6 vengono filtrati in base ai risultati del GetHostEntry metodo se nel computer locale non è installato IPv6. Di conseguenza, è possibile recuperare un'istanza vuota IPHostEntry se per il address
parametro sono disponibili solo i risultati IPv6.
La Aliases proprietà dell'istanza IPHostEntry restituita non viene popolata da questo metodo e sarà sempre vuota.
Nota
Questo membro genera informazioni di traccia quando si abilita la traccia di rete nell'applicazione. Per altre informazioni, vedere Traccia di rete in .NET Framework.
Si applica a
GetHostEntry(String)
- Origine:
- Dns.cs
- Origine:
- Dns.cs
- Origine:
- Dns.cs
Risolve un nome host o un indirizzo IP in un'istanza di 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
Parametri
- hostNameOrAddress
- String
Nome dell'host o indirizzo IP da risolvere.
Restituisce
Istanza di IPHostEntry contenente informazioni di indirizzo sull'host specificato in hostNameOrAddress
.
Eccezioni
Il valore del parametro hostNameOrAddress
è null
.
La lunghezza del parametro hostNameOrAddress
supera i 255 caratteri.
Si è verificato un errore nella risoluzione del parametro hostNameOrAddress
.
Il parametro hostNameOrAddress
è un indirizzo IP non valido.
Esempio
Nell'esempio seguente viene usato il GetHostEntry metodo per risolvere un indirizzo IP in un'istanza IPHostEntry di .
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
Commenti
Il GetHostEntry metodo esegue una query su un server DNS per l'indirizzo IP associato a un nome host o a un indirizzo IP.
Se come argomento viene passata hostNameOrAddress
una stringa vuota, questo metodo restituisce gli indirizzi IPv4 e IPv6 dell'host locale.
Se non è stato possibile trovare il nome host, l'eccezione SocketException viene restituita con un valore 11001 (errore Windows Sockets WSAHOST_NOT_FOUND). Questa eccezione può essere restituita se il server DNS non risponde. Questa eccezione può essere restituita anche se il nome non è un nome host o un alias ufficiale oppure non è possibile trovarlo nei database su cui viene eseguita la query.
L'eccezione ArgumentException viene restituita anche se il hostNameOrAddress
parametro contiene Any o IPv6Any.
Il GetHostEntry metodo presuppone che se viene passata una stringa letterale IP nel hostNameOrAddress
parametro che l'applicazione desidera restituire un'istanza IPHostEntry con tutte le proprietà impostate. Queste proprietà includono AddressList, Aliasese HostName. Di conseguenza, l'implementazione del GetHostEntry metodo mostra il comportamento seguente quando viene passato un valore letterale stringa IP:
Il metodo tenta di analizzare l'indirizzo. Se il
hostNameOrAddress
parametro contiene un valore letterale stringa IP legale, la prima fase ha esito positivo.Viene tentata una ricerca inversa usando l'indirizzo IP del valore letterale stringa IP per ottenere il nome host. Questo risultato viene impostato come HostName proprietà .
Il nome host di questa ricerca inversa viene usato di nuovo per ottenere tutti gli indirizzi IP possibili associati al nome e impostare come AddressList proprietà.
Per un valore letterale stringa IPv4, è possibile che tutti e tre i passaggi precedenti abbiano esito positivo. È tuttavia possibile che venga restituito un record DNS non aggiornato per un indirizzo IPv4 che appartiene effettivamente a un host diverso. Questo può causare l'esito negativo del passaggio 3 e generare un'eccezione (esiste un record PTR DNS per l'indirizzo IPv4, ma nessun record DNS A per l'indirizzo IPv4).
Per IPv6, il passaggio 2 precedente potrebbe non riuscire, poiché la maggior parte delle distribuzioni IPv6 non registra il record inverso (PTR) per un indirizzo IPv6. Questo metodo può quindi restituire il valore letterale IPv6 stringa come nome host di dominio completo (FQDN) nella HostName proprietà .
Il GetHostAddresses metodo ha un comportamento diverso rispetto ai valori letterali IP. Se il passaggio 1 precedente ha esito positivo (analizza correttamente come indirizzo IP), tale indirizzo viene restituito immediatamente come risultato. Non è previsto alcun tentativo di ricerca inversa.
Gli indirizzi IPv6 vengono filtrati in base ai risultati del GetHostEntry metodo se nel computer locale non è installato IPv6. Di conseguenza, è possibile tornare a un'istanza vuota IPHostEntry se viene restituito solo i risultati IPv6, se disponibili per il hostNameOrAddress
parametro .
La Aliases proprietà dell'istanza IPHostEntry restituita non viene popolata da questo metodo e sarà sempre vuota.
Nota
Questo membro genera informazioni di traccia quando si abilita la traccia di rete nell'applicazione. Per altre informazioni, vedere Traccia di rete in .NET Framework.
Si applica a
GetHostEntry(String, AddressFamily)
- Origine:
- Dns.cs
- Origine:
- Dns.cs
- Origine:
- Dns.cs
Risolve un nome host o un indirizzo IP in un'istanza di 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
Parametri
- hostNameOrAddress
- String
Nome dell'host o indirizzo IP da risolvere.
- family
- AddressFamily
Famiglia di indirizzi per cui devono essere recuperati gli indirizzi IP. Se Unspecified, recuperare tutti gli indirizzi IP indipendentemente dalla famiglia di indirizzi.
Restituisce
IPHostEntry Istanza che contiene le informazioni sull'indirizzo sull'host specificato in hostNameOrAddress
.