Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.129.25.80] |
|
Сообщ.
#1
,
|
|
|
Вопрос: При использовании функции GetResponse() класса HttpWebRequest для получения данных с сайтов, при запросах к некоторым сайтам(например, mail.ru, вылетает следующее исключение:
"System.Net.WebException: The underlying connection was closed: The server committed an HTTP protocol violation." Ответ: Скорее всего, это происходит потому что у вас устанвлен SP1 для .NET framework. SP1 усиливает безопасность, и проверяет HTTP ответы сервера на наличие в них пробелов. Чтобы такого исключения не вылетало, надо добавить config файл в папку с exe'шником и назвать его "Имя экзешника.exe.config". В этот файл надо добавить следующее: Цитата <?xml version="1.0" encoding="Windows-1252"?> <configuration> <system.net> <settings> <httpWebRequest useUnsafeHeaderParsing="true" /> </settings> </system.net> </configuration> Это отключит проверку на пробелы в HTTP заголовках, посланных сервером в виде ответа. Эта тема была разделена из темы "FAQ" |