首页 > 解决方案 > .NET 5 HttpClient 无法获取 html 内容页面 - http 500

问题描述

我正在尝试使用 HttpClient 来获取页面的 html 内容。尝试我用谷歌 URL 测试的方法,它正在工作,我收到了我的 html 页面的内容。但是有了我想要的 url,就不可能得到内容。我每次都有一个返回码 http 500。问题是,我可以使用 POSTMAN 甚至使用 python 获取文件的内容,但使用 .NET5 是不可能的

有人知道吗?先感谢您。

        private static readonly HttpClient client = new HttpClient();

        static async Task Main(string[] args)
        {
            try
            {
                HttpResponseMessage response = await client.GetAsync("https://www.naeu.playblackdesert.com/fr-FR/Adventure/Profile?profileTarget=tbXSK7e39Sb3U3yPi7UDjjSeXLzr0HZbr%2bvZQYvtEENKNEz6zPFwtpkvp0pIir%2fk%2fWk7JFLXKICyzqEBwajIrTCHQPFH4MRyBkor2fVeMAb8hNGoasy8HtBiHlcoWN1xRsmmYjVt6WbJg2ocvr%2fbsQk2sbjKeD5a7VqgreAH0ztzMvoFqk7Z%2fZ7L4USyu5Up");
                response.EnsureSuccessStatusCode();
                string responseBody = await response.Content.ReadAsStringAsync();

                Console.WriteLine(responseBody);
            }

            catch(HttpRequestException e)
            {
                Console.WriteLine("\nException Caught!");   
                Console.WriteLine("Message :{0} ",e.Message);
            }
        }

标签: c#httpclient.net-5html-content-extraction

解决方案


像这样指定用户代理。

client.DefaultRequestHeaders.Add("User-Agent", "C# console program");

在 HttpResponseMessage response = await client.GetAsync 行之前


推荐阅读