gpt4 book ai didi

c# - 无论我做什么,都会出现 "The remote server returned an error: (403) Forbidden"错误

转载 作者:行者123 更新时间:2023-12-04 10:00:45 25 4
gpt4 key购买 nike

我收到“远程服务器返回错误:(403) 禁止。”每次我向网站发出请求时都会出错。我还尝试了在发出请求时在浏览器上看到的每个 header ,但仍然出现相同的错误。我应该怎么做才能解决此错误?这是 .NET Core 3 上的控制台应用程序。

        var url = "my-url";
var client = new WebClient();
client.Headers.Add("User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36");
client.Headers.Add("Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9");
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
var html = client.DownloadString(url);

Unhandled exception. System.Net.WebException: The remote server returned an error: (403) Forbidden.

最佳答案

发生这种情况的原因很可能是您定位的站点实现了一些网络抓取对策。
为了绕过它,你应该尽可能地模拟一个真实的浏览器。这可以通过设置必要的标题来实现。

client.Headers.Add("Accept", "text/html,application/xhtml+xml,application/xml");
client.Headers.Add("Accept-Encoding", "gzip, deflate");
client.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:19.0) Gecko/20100101 Firefox/19.0");
client.Headers.Add("Accept-Charset", "ISO-8859-1");
以上是浏览器使用的一些基本 header ,尝试它们,如果仍然不起作用,我建议继续关注该方向。
第二步:
使用任何类型的网络代理(如 Fiddler)从您的浏览器访问此网站,并拦截请求的 header 。然后在您的应用程序中模仿它们。那应该 100% 有效。

关于c# - 无论我做什么,都会出现 "The remote server returned an error: (403) Forbidden"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61835224/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com