Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
10 / 10 / 1
Регистрация: 28.02.2013
Сообщений: 208

Exception. The server committed a protocol violation

23.02.2015, 15:29. Показов 2281. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! Загружаю файлы из интернета таким образом:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
int bytesProcessed = 0;
 
                Stream remoteStream = null;
                Stream localStream = null;
                WebResponse response = null;
 
                WebRequest request = WebRequest.Create(url);
                if (request != null)
                {
                    response = request.GetResponse();
                    if (response != null)
                    {
                        remoteStream = response.GetResponseStream();
                        localStream = File.Create(savePath);
 
                        byte[] buffer = new byte[1024];
                        int bytesRead;
                        do
                        {
                            bytesRead = remoteStream.Read(buffer, 0, buffer.Length);
                            localStream.Write(buffer, 0, bytesRead);
                            bytesProcessed += bytesRead;
                        } while (bytesRead > 0);
                    }
                }
 
 
 
                if (response != null) response.Close();
                if (remoteStream != null) remoteStream.Close();
                if (localStream != null) localStream.Close();
У всех пользователей все хорошо, но у некоторых не грузит. Посмотрел логи, а там
"The server committed a protocol violation. Section=ResponseHeader Detail=CR must be followed by LF"

Много читал в интернете про эту ошибку, добавил файл конфигурации в проект, чирканул там
XML
1
2
3
4
5
6
7
8
<?xml version ="1.0"?>
<configuration>
  <system.net>
    <settings>
      <httpWebRequest useUnsafeHeaderParsing="true" />
    </settings>
  </system.net>
</configuration>
Без изменений. Не подскажете, как решить проблему со стороны кода?

Добавлено через 32 минуты
Заметил, что в конфигурации я написал Http, а на деле использую обычный WebRequest. Исправил его на HttpWebRequest - 0 реакции.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.02.2015, 15:29
Ответы с готовыми решениями:

First chance exception at $646E6970. Exception class $C0000005 with message access violation at 0x646e6970
Перешёл с XE6 на Delphi 10.3 после чего проект перестал запускаться, выдавая ошибку - First chance exception at $646E6970. Exception...

First chance exception at $77ADB09E. Exception class EAccessViolation with message 'Access Violation'. Process
Объясните в каких случаях возникает эта ошибка, из-за чего? Как справиться с этой ошибкой? Только плиз на примере и доступными словами, т....

Ошибка: First chance exception at $FEEEFEEE. Exception class $C0000005 with message 'access violation at 0xfeeefeee:
Здравствуйте! Подскажите пожалуйста, из-за чего может возникнуть такая ошибка?: First chance exception at $FEEEFEEE. Exception class...

3
Жуткая тВарЬ
394 / 329 / 135
Регистрация: 06.02.2015
Сообщений: 962
Записей в блоге: 1
24.02.2015, 10:52
Как мне кажеться это не у Вас проблема в коде, а у сервера который отправляет данные.
Вообще для сохранения файлов лучше используйте WebClient
C#
1
2
            WebClient WC = new WebClient();
            WC.DownloadFile("https://mail.ru/", @"путь сохранения");
0
10 / 10 / 1
Регистрация: 28.02.2013
Сообщений: 208
08.03.2015, 19:23  [ТС]
WebClient не использую, потому что мне необходимо высчитывать скорость загрузки и выводить пользователю.
0
10 / 10 / 1
Регистрация: 28.02.2013
Сообщений: 208
21.03.2015, 15:10  [ТС]
Проблема была в том, что по какой-то странной причине у некоторых людей не переходило по ссылкам с перенаправлением такого вида:
http://ololo.ru/counter/counter.php?book=2

Заменил на прямую и все ок.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.03.2015, 15:10
Помогаю со студенческими работами здесь

First chance exception at $005D3449. Exception class $C0000005 with message 'access violation at 0x005d3449: read of add
помогите исправить ошибку :( unit Unit2; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,...

Project Exception EAccess Violation..
Программа для расчета данных по предприятию. После ввода значений в поля Edit, они должны сохранятся в свойства класса. При сохранение...

Unhandled exception .. access violation
Вот в этом коде выдает .. подозреваю что связано с вводом .. подскажите что не так #include &quot;stdafx.h&quot; #include...

Непонятный Access Violation Exception
Вчера вместе с игрой установил Visual C++ redistributable, хотя уже были установлены необходимые. Сегодня при попытке запуска проекта в...

exception : 0xC0000005: Access Violation
Разработка идет по windows mobile 6. Возникла необходимость в определенном случае менять данные в памяти по адресу 0x02020000 cо смещение...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru