using System;
using System.IO;
using System.Net;
using System.Net.Http;
namespace ZeroLevel.Services.Network.Utils
{
///
/// Methods related to Network.
///
public static class Network
{
///
/// Gets the external IP Address.
///
/// The external IP Address.
public static string ExternalIP
{
get
{
try
{
using (var clientHandler = new HttpClientHandler())
{
clientHandler.ServerCertificateCustomValidationCallback = (_, _, _, _) => true;
clientHandler.UseCookies = true;
clientHandler.CookieContainer = new CookieContainer();
using (var client = new HttpClient(clientHandler))
{
var message = new HttpRequestMessage(HttpMethod.Get, "http://ipv4.icanhazip.com");
using (var response = client.Send(message))
{
return response.Content.ReadAsStringAsync().Result;
}
}
}
}
catch (Exception e)
{
Console.WriteLine("Error: " + e.Message);
return "";
}
}
}
}
}