HttpWebRequest 429 ошибка, любой способ обойти? - PullRequest
0 голосов
/ 13 февраля 2020

Мне нужно прочитать информацию, основанную на налоговой идентификации, используя json из https://wl-api.mf.gov.pl/api/search/nip/5250007738?date=2020-02-13

И есть пример рабочего кода

 private static void Main()
        {
            ServicePointManager.Expect100Continue = true;
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

            Log("NIP: ");
            string nip = Console.ReadLine();

            string date = DateTime.Now.ToShortDateString();
            string url = "https://wl-api.mf.gov.pl/api/search/nip/{0}?date={1}";
            string fullUrl = string.Format(url, nip, date);

            var get = Get(fullUrl);

            RootObject account = JsonConvert.DeserializeObject<RootObject>(get);
            if (account != null)
                Log("Status: " + account.result.subject.statusVat);

            Log("Press any key to continue...");


            Console.ReadKey();
        }

        public static string Get(string url)
        {
            try
            {
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;

                using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
                using (Stream stream = response.GetResponseStream())
                using (StreamReader reader = new StreamReader(stream))
                {
                    return reader.ReadToEnd();
                }
            }
            catch (Exception err)
            {
                Log(err.Message);
            }
            return string.Empty;
        }

        static void Log(string msg)
        {
            Console.WriteLine(msg);
        }

Но есть некоторые ограничения на API, что позволяет мне получать только 10 запросов в день. Однако, используя веб-браузер, я могу получить его без каких-либо ограничений. Есть ли способ обойти ограничение 429?

1 Ответ

0 голосов
/ 13 февраля 2020

Вы можете обойти это ограничение, подделав свой IP-адрес или свой пользовательский агент, но это не так.

Если ограничение API сервера составляет 10 запросов в день, вы должны соблюдать это ограничение. Если бы это был ваш сервер, конечно, вы могли бы обойти его. Однако, поскольку это не ваш сервер / API, пожалуйста, соблюдайте его правила.

Подробнее об ошибке 429: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429

...