首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C# (429)请求太多

C# (429)请求太多
EN

Stack Overflow用户
提问于 2014-06-20 16:30:56
回答 4查看 16.3K关注 0票数 5

我一直在使用C#中的WebClient从网页中获取特定数据。这很好用,直到我做了2次以上。如果我做的次数超过2次,它会给我"(429)太多的请求“。错误。顺便说一句,我已经研究了关于这个问题的其他问题。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-06-20 16:48:01

这不是C#问题。这是来自web服务器的响应。可能是某种反DOS过滤器。尝试在请求之间进行暂停,即在每个请求之前暂停( System.Threading.Thread.Sleep(5000); )。

票数 10
EN

Stack Overflow用户

发布于 2021-12-10 04:11:58

我知道这个帖子已经很久了。但我想分享解决方案

也许您可以尝试将polly作为拦截器来重试请求。

对于策略处理程序

代码语言:javascript
复制
            serviceCollection.AddHttpClient<IExternalAPI, ExternalAPI>(client =>
        {
            var url= "";
            url = config.GetSection("Config").GetValue<string>("baseUrl");
            client.BaseAddress = new Uri(url);
            client.DefaultRequestHeaders
                .Accept
                .Add(new MediaTypeWithQualityHeaderValue("application/json"));
        }).AddPolicyHandler((provider, request) =>
        {
            return Policy.HandleResult<HttpResponseMessage>(r => r.StatusCode == HttpStatusCode.TooManyRequests)
                .RetryAsync(1, async (response, retryCount, context) =>
                {
                    if (response.Result.StatusCode == HttpStatusCode.Unauthorized)
                    {
                        // Add delay here
                        Thread.Sleep(1000);
                        Logger.LogInformation("Unauthorized Request Occured, Re-authenticating");
                        await client.Authenticate();
                    }
                    // refresh auth token.
票数 0
EN

Stack Overflow用户

发布于 2022-02-08 09:39:12

这篇文章很旧了,但我从我的网络服务器上下载图片时也遇到了同样的问题。我在this post上找到了解决方案

代码语言:javascript
复制
// THIS LINE IS THE IMPORTANT ONE
req.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; WOW64; " +
                "Trident/4.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; " +
                ".NET CLR 3.5.21022; .NET CLR 3.5.30729; .NET CLR 3.0.30618; " +
                "InfoPath.2; OfficeLiveConnector.1.3; OfficeLivePatch.0.0)";

从那以后我再也没有遇到过任何问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24323055

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档