mirror of https://github.com/quasar/Quasar.git
Compare commits
2 Commits
912d75a558
...
f1fc466165
Author | SHA1 | Date |
---|---|---|
Crims-on | f1fc466165 | |
Crims-on | 84f3eb78ff |
|
@ -1,4 +1,4 @@
|
|||
using Quasar.Client.Helper;
|
||||
using Quasar.Client.Helper;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Net;
|
||||
|
@ -81,7 +81,7 @@ namespace Quasar.Client.IpGeoLocation
|
|||
{
|
||||
try
|
||||
{
|
||||
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://tools.keycdn.com/geo.json");
|
||||
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://ipwho.is/");
|
||||
request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:76.0) Gecko/20100101 Firefox/76.0";
|
||||
request.Proxy = null;
|
||||
request.Timeout = 10000;
|
||||
|
@ -94,12 +94,12 @@ namespace Quasar.Client.IpGeoLocation
|
|||
|
||||
GeoInformation g = new GeoInformation
|
||||
{
|
||||
IpAddress = geoInfo.Data.Geo.Ip,
|
||||
Country = geoInfo.Data.Geo.CountryName,
|
||||
CountryCode = geoInfo.Data.Geo.CountryCode,
|
||||
Timezone = geoInfo.Data.Geo.Timezone,
|
||||
Asn = geoInfo.Data.Geo.Asn.ToString(),
|
||||
Isp = geoInfo.Data.Geo.Isp
|
||||
IpAddress = geoInfo.Ip,
|
||||
Country = geoInfo.Country,
|
||||
CountryCode = geoInfo.CountryCode,
|
||||
Timezone = geoInfo.Timezone.UTC,
|
||||
Asn = geoInfo.Connection.ASN.ToString(),
|
||||
Isp = geoInfo.Connection.ISP
|
||||
};
|
||||
|
||||
return g;
|
||||
|
|
|
@ -1,82 +1,45 @@
|
|||
using System.Runtime.Serialization;
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
namespace Quasar.Client.IpGeoLocation
|
||||
{
|
||||
[DataContract]
|
||||
public class GeoResponse
|
||||
{
|
||||
[DataMember(Name ="status")]
|
||||
public string Status { get; set; }
|
||||
|
||||
[DataMember(Name = "description")]
|
||||
public string Description { get; set; }
|
||||
|
||||
[DataMember(Name = "data")]
|
||||
public DataObject Data { get; set; }
|
||||
}
|
||||
|
||||
[DataContract]
|
||||
public class DataObject
|
||||
{
|
||||
[DataMember(Name = "geo")]
|
||||
public LocationData Geo { get; set; }
|
||||
}
|
||||
|
||||
[DataContract]
|
||||
public class LocationData
|
||||
{
|
||||
[DataMember(Name = "host")]
|
||||
public string Host;
|
||||
|
||||
[DataMember(Name = "ip")]
|
||||
public string Ip;
|
||||
|
||||
[DataMember(Name = "rdns")]
|
||||
public string Rdns;
|
||||
|
||||
[DataMember(Name = "asn")]
|
||||
public int Asn;
|
||||
|
||||
[DataMember(Name = "isp")]
|
||||
public string Isp;
|
||||
|
||||
[DataMember(Name = "country_name")]
|
||||
public string CountryName;
|
||||
|
||||
[DataMember(Name = "country_code")]
|
||||
public string CountryCode;
|
||||
|
||||
[DataMember(Name = "region_name")]
|
||||
public string RegionName;
|
||||
|
||||
[DataMember(Name = "region_code")]
|
||||
public string RegionCode;
|
||||
|
||||
[DataMember(Name = "city")]
|
||||
public string City;
|
||||
|
||||
[DataMember(Name = "postal_code")]
|
||||
public string PostalCode;
|
||||
|
||||
[DataMember(Name = "continent_name")]
|
||||
public string ContinentName;
|
||||
public string Ip { get; set; }
|
||||
|
||||
[DataMember(Name = "continent_code")]
|
||||
public string ContinentCode;
|
||||
public string ContinentCode { get; set; }
|
||||
|
||||
[DataMember(Name = "latitude")]
|
||||
public double Latitude;
|
||||
[DataMember(Name = "country")]
|
||||
public string Country { get; set; }
|
||||
|
||||
[DataMember(Name = "longitude")]
|
||||
public double Longitude;
|
||||
|
||||
[DataMember(Name = "metro_code")]
|
||||
public object MetroCode;
|
||||
[DataMember(Name = "country_code")]
|
||||
public string CountryCode { get; set; }
|
||||
|
||||
[DataMember(Name = "timezone")]
|
||||
public string Timezone;
|
||||
public Time Timezone { get; set; }
|
||||
|
||||
[DataMember(Name = "datetime")]
|
||||
public string Datetime;
|
||||
[DataMember(Name = "connection")]
|
||||
public Conn Connection { get; set; }
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
[DataContract]
|
||||
public class Time
|
||||
{
|
||||
[DataMember(Name = "utc")]
|
||||
public string UTC { get; set; }
|
||||
}
|
||||
[DataContract]
|
||||
public class Conn
|
||||
{
|
||||
[DataMember(Name = "asn")]
|
||||
public string ASN { get; set; }
|
||||
|
||||
[DataMember(Name = "isp")]
|
||||
public string ISP { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue