Unofficial API for WhatIsMyIPAddress in .NET Standard
NuGet: https://www.nuget.org/packages/WhatIsMyIPAddress.API
This API provides synchronous and asynchronous methods
var client = new Client();
// To use a proxy
var client = new Client(new WebProxy("169.57.1.84:8080"));
To get your IP
// Sync
var ip = client.GetMyIPAddress(); // IPv4 by default
var ipv4 = client.GetMyIPAddress(System.Net.Sockets.AddressFamily.InterNetwork);
var ipv6 = client.GetMyIPAddress(System.Net.Sockets.AddressFamily.InterNetworkV6);
// Async
var ip = await client.GetMyIPAddressAsync();
var ipv4 = client.GetMyIPAddressAsync(System.Net.Sockets.AddressFamily.InterNetwork);
var ipv6 = client.GetMyIPAddressAsync(System.Net.Sockets.AddressFamily.InterNetworkV6);
Lookup IP Tool
This tool provides details about an IP address. It's estimated physical location (country, state, and city) and a map.
var details = client.LookupIP(ip);
var details = await client.LookupIPAsync(ip);
Advanced Proxy Check Tool
If you are using a proxy server use this tool to check and see if any information is being exposed.
var proxy = client.ProxyCheck(new WebProxy("138.68.240.218:8080")).IsProxyServer;
// sets timeout to 20 seconds and number of tries (try again if request fails) to 2 [Optional]
var proxy = client.ProxyCheck(new WebProxy("138.68.240.218:8080"), TimeSpan.FromSeconds(20000), 2).IsProxyServer;
var proxy = (await client.ProxyCheckAsync(new WebProxy("138.68.240.218:8080"))).IsProxyServer;
Blacklist Check Tool
This tool will check to see if your IP address is listed with more than 100 DNSbl's as a machine that mail should not be accepted from.
var blacklist = client.BlacklistCheck(ip);
var blacklist = await client.BlacklistCheckAsync(ip);
var validityPercent = result.GoodPercent;
This tool provides the hostname of an IP address. (ie 192.168.1.1)
var hostname = client.LookupHostname(ip);
var hostname = await client.LookupHostnameAsync(ip);
This tool provides the IP address of a hostname (ie www.yahoo.com)
var resultIPs = client.LookupIPAddress("www.yahoo.com");
var resultIPs = await client.LookupIPAddressAsync("www.yahoo.com");
Full Test Example Here