ip.audvy.me/api/json
will result in a JSON response in the following format
{
"ipv4":"xxx.xxx.xxx.xxx"
}
using System.Net;
namespace IPGrabber
{
class IPv4Address
{
private static async Task<IPAddress?> GetIpAddress()
{
var GetMessageFromSite = (await new HttpClient().GetStringAsync("https://ip.audvy.me/api/json"))
.Replace("\\r\\n", "").Replace("\\n", "").Trim();
int pFrom = GetMessageFromSite.IndexOf("{\"ipv4\":\"") + "{\"ipv4\":\"".Length;
int pTo = GetMessageFromSite.LastIndexOf("\"}");
String result = GetMessageFromSite.Substring(pFrom, pTo - pFrom);
if (!IPAddress.TryParse(result, out var ipAddress)) return null;
return ipAddress;
}
public static string GetIP()
{
var externalIpTask = GetIpAddress();
GetIpAddress().Wait();
var externalIpString = externalIpTask.Result ?? IPAddress.Loopback;
return externalIpString.ToString();
}
}
}