.NET 5 HttpClient не может ПОЛУЧИТЬ страницу содержимого html — http 500

#c# #httpclient #.net-5 #html-content-extraction

Вопрос:

Я пытаюсь использовать HttpClient для получения html-содержимого страницы. чтобы попробовать метод, который я протестировал с помощью URL-адреса Google, и он работает, я получаю содержимое своей 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+vZQYvtEENKNEz6zPFwtpkvp0pIir/k/Wk7JFLXKICyzqEBwajIrTCHQPFH4MRyBkor2fVeMAb8hNGoasy8HtBiHlcoWN1xRsmmYjVt6WbJg2ocvr/bsQk2sbjKeD5a7VqgreAH0ztzMvoFqk7Z/Z7L4USyu5Up");
                response.EnsureSuccessStatusCode();
                string responseBody = await response.Content.ReadAsStringAsync();

                Console.WriteLine(responseBody);
            }

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

Ответ №1:

Укажите Агента пользователя следующим образом.

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

Перед строкой HttpResponseMessage ответ = ожидание клиента.GetAsync

Комментарии:

1. Я изменил заголовок со значением, которое вы рекомендовали, и это работает 🙂 Но если я использую API, что я должен указать в качестве значения для своего «Агента пользователя» ?

2. смотрите документацию здесь developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent некоторые серверы обслуживают разные страницы (данные) в зависимости от значения агента пользователя, некоторые-нет. Было бы неплохо оставить все как есть, если вам все равно, и вы довольны тем, что сервер дает вам сейчас.

3. @Kujima если это сработало и является ответом, не могли бы вы отметить его как ответ, пожалуйста. Спасибо