.NET Framework Class Library
Dns..::.GetHostAddresses Method

Returns the Internet Protocol (IP) addresses for the specified host.

Namespace:  System.Net
Assembly:  System (in System.dll)
Syntax

Visual Basic (Declaration)
Public Shared Function GetHostAddresses ( _
    hostNameOrAddress As String _
) As IPAddress()
Visual Basic (Usage)
Dim hostNameOrAddress As String
Dim returnValue As IPAddress()

returnValue = Dns.GetHostAddresses(hostNameOrAddress)
C#
public static IPAddress[] GetHostAddresses(
    string hostNameOrAddress
)
Visual C++
public:
static array<IPAddress^>^ GetHostAddresses(
    String^ hostNameOrAddress
)
JScript
public static function GetHostAddresses(
    hostNameOrAddress : String
) : IPAddress[]

Parameters

hostNameOrAddress
Type: System..::.String
The host name or IP address to resolve.

Return Value

Type: array<System.Net..::.IPAddress>[]()[]
An array of type IPAddress that holds the IP addresses for the host that is specified by the hostNameOrAddress parameter.
Exceptions

ExceptionCondition
ArgumentNullException

hostNameOrAddress is nullNothingnullptra null reference (Nothing in Visual Basic).

ArgumentOutOfRangeException

The length of hostNameOrAddress is greater than 126 characters.

SocketException

An error is encountered when resolving hostNameOrAddress.

ArgumentException

hostNameOrAddress is an invalid IP address.

Remarks

The GetHostAddresses method queries a DNS server for the IP addresses associated with a host name. If hostNameOrAddress is an IP address, this address is returned without querying the DNS server.

When an empty string is passed as the host name, this method returns the IPv4 addresses of the local host for all operating systems except Windows Server 2003; for Windows Server 2003, both IPv4 and IPv6 addresses for the local host are returned.

NoteNote:

This member emits trace information when you enable network tracing in your application. For more information, see Network Tracing.

Examples

The following code example uses the GetHostAddresses method to resolve an IP address to an array of type IPAddress.

Visual Basic
Public Sub DoGetHostAddresses(hostName As [String])

    Dim ips As IPAddress()

    ips = Dns.GetHostAddresses(hostname)

    Console.WriteLine("GetHostAddresses(" + hostname + ") returns: ")

    Dim index As Integer
    For index = 0 To ips.Length - 1
         Console.WriteLine(ips(index))
    Next index
End Sub    
C#
public static void DoGetHostAddresses(string hostname)
{
    IPAddress[] ips;

    ips = Dns.GetHostAddresses(hostname);

    Console.WriteLine("GetHostAddresses({0}) returns:", hostname);

    foreach (IPAddress ip in ips)
    {
        Console.WriteLine("    {0}", ip);
    }
}
Visual C++
   // Determine the Internet Protocol(IP) addresses for a host.
public:
   static void DoGetHostAddress(String^ hostname)
   {
      array<IPAddress^>^ ips;
      ips = Dns::GetHostAddresses(hostname);

      Console::WriteLine("GetHostAddresses({0}) returns:", hostname);
      for each ( IPAddress^ ip in ips )
      {
         Console::Write( "{0} ", ip );
      }
      Console::WriteLine( "" );
   }

.NET Framework Security

Platforms

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Version Information

.NET Framework

Supported in: 3.5, 3.0, 2.0
See Also

Reference

Tags :


Community Content

Thomas Lee
GetHostAddress Using PowerShell
# get-hostaddress.ps1
# Sample using PowerShell
# Thomas Lee - tfl@psp.co.uk
 
# takes a parameter
Param ([string] $hostname = "www.microsoft.com")
 
# Get IP address
$ips = [System.net.Dns]::GetHostAddresses($hostname)
 
# Display results
"GetHostAddresses({0}) returns:" -f $hostname
foreach ($ip in $ips) {
" {0}" -f , $ip
}

This script (called with no parameters displays the following output:

PS C:\Documents and Settings\LeeT> D:\foo\get-hostaddress.ps1
GetHostAddresses(www.microsoft.com) returns:
207.46.193.254
207.46.19.190
207.46.19.254
207.46.192.254
  

Page view tracker