Citrom67 Ответов: 1

Эта проблема SSL вызвана кодом или чем - то еще?


С тех пор как я сделал своего бота discord, я получаю одну и ту же ошибку снова и снова, независимо от того, что я делаю в коде! Я получаю это сообщение об ошибке, когда использую httpclien/webclient, и я получаю его даже тогда, когда я его не использую!
Цитата:
Не удалось установить SSL-соединение, см. Внутреннее исключение

Ошибка аутентификации, см. Внутреннее исключение. Система.Частный.CoreLib

Полученное сообщение было неожиданным или плохо отформатированным


Я понятия не имею, что вызывает эту проблему, и я не мог найти ничего об этой ошибке в частности.

[Command("avatar")]
       public async Task Avatar(SocketGuildUser mention = null)
       {
           try
           {
               if (mention is null)
               {
                   string url = Context.User.GetAvatarUrl(format: ImageFormat.Auto,2048).ToString();

                   EmbedBuilder builder = new EmbedBuilder();
                   builder.WithTitle("Here you go!").WithImageUrl($"{url}");

                   await ReplyAsync($"", false, builder.Build());
               }
               else
               {
                   string url = mention.GetAvatarUrl(format: ImageFormat.Auto, 2048).ToString();
                   EmbedBuilder builder = new EmbedBuilder();
                   builder.WithTitle("Here you go!").WithImageUrl($"{url}");

                   await ReplyAsync($"", false, builder.Build());
               }
           }
           catch (Exception ex)
           {
               Console.WriteLine(ex.Message);
               if (ex.InnerException != null)
               {
                   Console.WriteLine(ex.InnerException.Message + " " + ex.InnerException.Source);
               }
               if (ex.InnerException.InnerException.Message != null)
               {
                   Console.WriteLine(ex.InnerException.InnerException.Message);
               }
           }

       }


И даже с этим простым кодом я получил сообщение об ошибке дважды, и я действительно не вижу, что случилось.

Что я уже пробовал:

Я попытался использовать аутентификацию http - клиента, но ошибка все еще остается.
И это совершенно случайно, например, в 1-3 случаях из 20 это происходит, но в других случаях это совершенно нормально и работает именно так, как вы ожидаете

Richard MacCutchan

Посмотрите на сообщение об ошибке: "Полученное сообщение было неожиданным или плохо отформатированным" Поэтому вам нужно изучить сообщения, которые отправляются в удаленную систему.

Citrom67

Я знаю, что я тупой, но это ново для меня, так что не могли бы вы дать подсказку, как это сделать?

Richard MacCutchan

Нет, потому что я понятия не имею, что пытается сделать ваш код. Если вы хотите узнать о безопасности HTTP, есть много ресурсов, которые Google найдет для вас.

Citrom67

Хорошо, тогда спасибо за вашу помощь

Richard MacCutchan

Вы можете начать с использования отладчика для пошагового просмотра кода и изучения каждой переменной по ходу работы. Это, по крайней мере, позволит вам увидеть некоторые из передаваемых данных.

1 Ответов

Рейтинг:
11

RickZeeland

Если вы используете более старую версию .NET framework или более старую версию Windows, вы можете столкнуться с проблемами TLS. Смотрите статью здесь: Решение проблемы TLS 1.0 - документация по безопасности | Microsoft Docs[^]
Самым простым решением часто является использование более новой версии .NET framework.