C# WinForms ve Mono GTK Networking ve İnternet

Csharp Ip Çözümleme

Ip adresi veya domain adresini çözümleme ihtiyacı olduğunda kullanılabilecek bir kod parçacığı paylaşağım.

/// <summary>
/// İp adresinin veya domain adresinin çözümlenmesi için kullanılır
/// </summary>
/// <param name="ipAddr">Çözümlenmesi beklenen ip adresi veya domain adresi</param>
/// <returns></returns>
internal static IpResult ResolveIpAddress(string ipAddr) {
    WebClient wc = new WebClient();
    string response = wc.DownloadString($"http://ip-api.com/json/{ipAddr}?fields=63700991");
    var result = JsonConvert.DeserializeObject<IpResult>(response);
    return result;
}

public class IpResult {
    public string status { get; set; }
    public string country { get; set; }
    public string countryCode { get; set; }
    public string region { get; set; }
    public string regionName { get; set; }
    public string city { get; set; }
    public string district { get; set; }
    public string zip { get; set; }
    public float lat { get; set; }
    public float lon { get; set; }
    public string timezone { get; set; }
    public int offset { get; set; }
    public string currency { get; set; }
    public string isp { get; set; }
    public string org { get; set; }
    public string _as { get; set; }
    public string asname { get; set; }
    public string reverse { get; set; }
    public bool mobile { get; set; }
    public bool proxy { get; set; }
    public bool hosting { get; set; }
    public string query { get; set; }
}
{
status: "success",
country: "Turkey",
countryCode: "TR",
region: "34",
regionName: "Istanbul",
city: "Istanbul",
district: "",
zip: "34381",
lat: 41.0761,
lon: 29.0105,
timezone: "Europe/Istanbul",
offset: 10800,
currency: "TRY",
isp: "SAGLAYICI Teknoloji Bilisim Yayincilik Hiz. Ticaret Ltd. Sti.",
org: "SAGLAYICI Teknoloji Bilisim Yayincilik Hiz. Ticaret Ltd.",
as: "AS199484 SAGLAYICI Teknoloji Bilisim Yayincilik Hiz. Ticaret Ltd. Sti.",
asname: "BETAINTERNATIONAL",
reverse: "185-28-3-37.rdns.saglayici.net",
mobile: false,
proxy: false,
hosting: true,
query: "185.28.3.37"
}