Багато рішень говорять про вирішення проблеми, але не про фактичну причину помилки.
Однією з можливих причин цієї помилки є те, якщо веб-сервер використовує кодування, відмінне від ASCIIабо ISO-8859-1для виведення розділу відповідей заголовка. Причиною для використання ISO-8859-1буде, якщо Response-Phraseмістить розширені латинські символи.
Іншою можливою причиною цієї помилки є те, якщо веб-сервер використовує, UTF-8що виводить маркер порядку байтів (BOM). Наприклад, константа за замовчуванням Encoding.UTF8виводить BOM, і це легко забути. Веб-сторінки будуть працювати належним чином у Firefox та Chrome, але HttpWebRequestбудуть бомби :). Швидке виправлення полягає в тому, щоб змінити веб-сервер на використання кодування UTF-8, яке не виводить BOM, наприклад new UTF8Encoding(false)(це нормально, поки Response-Phraseєдиний містить символи ASCII, але насправді він повинен використовуватись ASCIIабо ISO-8859-1для заголовків, а потім UTF-8або якесь інше кодування для відповіді).