示例#1
0
        private static async Task SingleQuery()
        {
            var client = HunterClientFactory.Create();

            var data = await client.GetData("46.174.55.174")
                       .Language(HunterLanguage.Russian) // optional, default: english
                       .Fields(HunterField.Query)        // optional, default: returns all
                       .ExecuteAsync();

            Console.WriteLine(data.Response[0].Status);
            Console.WriteLine(data.Response[0].Message);
            Console.WriteLine(data.Response[0].City);
            Console.WriteLine(data.Response[0].Continent);
            Console.WriteLine(data.Response[0].ContinentCode);
            Console.WriteLine(data.Response[0].Country);
            Console.WriteLine(data.Response[0].CountryCode);
            Console.WriteLine(data.Response[0].Currency);
            Console.WriteLine(data.Response[0].District);
            Console.WriteLine(data.Response[0].Latitude);
            Console.WriteLine(data.Response[0].Longitude);
            Console.WriteLine(data.Response[0].Region);
            Console.WriteLine(data.Response[0].RegionName);
            Console.WriteLine(data.Response[0].TimeZone);
            Console.WriteLine(data.Response[0].Zip);
            Console.WriteLine(data.Response[0].Query);

            Console.WriteLine(data.RemainingRequests);
            Console.WriteLine(data.LimitExpirationInSeconds);
        }
        public static IServiceCollection AddHunter(this IServiceCollection services, Action <HttpClient> action)
        {
            void Configure(HttpClient client)
            {
                action(client);

                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            }

            if (action == null)
            {
                throw new ArgumentNullException(nameof(action));
            }

            services.AddHttpClient(ClientName, Configure);
            services.AddScoped(x =>
            {
                var clientFactory = x.GetService <IHttpClientFactory>();
                var client        = clientFactory.CreateClient(ClientName);

                return(HunterClientFactory.Create(client));
            });

            return(services);
        }
示例#3
0
        public static async Task Main()
        {
            Console.OutputEncoding = Encoding.UTF8;

            await SingleQuery();

            var client = HunterClientFactory.Create();

            var data = await client.GetData("46.174.55.174", "151.80.113.111")
                       .Fields(HunterField.CountryCode, HunterField.Query) // optional, default: returns all
                       .ExecuteAsync();

            Console.WriteLine(data.Response[0].CountryCode);
            Console.WriteLine(data.Response[0].Query);
            Console.WriteLine(data.Response[1].CountryCode);
            Console.WriteLine(data.Response[1].Query);

            Console.WriteLine(data.RemainingRequests);
            Console.WriteLine(data.LimitExpirationInSeconds);

            Console.ReadKey();
        }