powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / C# снова проблема с FTP и Касперским
3 сообщений из 3, страница 1 из 1
C# снова проблема с FTP и Касперским
    #39191363
Фотография Ikar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день всем!
Форум прошерстил, Гуглом пользовался, не могу найти решения...
Ситуация, собственно, известная: есть корпоративный Касперский, после обновления которого возникла проблема (до обновления все работало), есть код на C#, который закачивает/скачивает файлы с FTP. Сервера как чужие, так и свой, не принципиально, т.к. настройки серверов не изменялись. Если Касперского отключить, то снова все работает. А с включенным Касперским выдает ошибку
Код: sql
1.
Удаленный сервер возвратил ошибку: 227 Entering Passive Mode


Ок, лезу в код, прогоняю под отладчиком, присвоения reqFTP.UsePassive нет, но значение его равно TRUE.
Делаю принудительное присвоение "поверх дефолта" (знаю, что тупость, но надежда на чудо иногда прорывается :) )
Код: c#
1.
reqFTP.UsePassive = true;


Запускаю. Естественно, ничего не меняется.
Ок, для эксперимента пробую наоборот его выключить:
Код: c#
1.
reqFTP.UsePassive = false;


И тут получаю вот такую ошибку:
Код: sql
1.
Удаленный сервер возвратил ошибку: (500) Синтаксическая ошибка. Команда не опознана...


Нитегонепонимаю (с)Колобки

Вот код, который используется (висит на кнопке):
Код: 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.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
private void button2_Click(object sender, EventArgs e)
        {
            if (!File.Exists(txtFile.Text))
            {
                MessageBox.Show("Файл не выбран!");
                return;
            };
            string sURL = Properties.Settings.Default.URL;
            try
            {
                this.Enabled = false;
                FileInfo fileInf = new FileInfo(txtFile.Text);
                FtpWebRequest reqFTP;

                reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(sURL));
                reqFTP.Proxy = FtpWebRequest.DefaultWebProxy;
                reqFTP.Credentials = new NetworkCredential("<ftp_login_name>", "<ftp_user_password>");
                
                reqFTP.KeepAlive = false;

                //reqFTP.UsePassive = true;
                //reqFTP.UsePassive = false;

                reqFTP.Method = WebRequestMethods.Ftp.UploadFile;
                reqFTP.UseBinary = true;
                reqFTP.ContentLength = fileInf.Length;

                int buffLength = 2048;
                byte[] buff = new byte[buffLength];
                int contentLen;

                FileStream fs = fileInf.OpenRead();
                Stream strm = reqFTP.GetRequestStream(); // вот отсюда вылетаем в cath
                contentLen = fs.Read(buff, 0, buffLength);

                while (contentLen != 0)
                {
                    strm.Write(buff, 0, contentLen);
                    contentLen = fs.Read(buff, 0, buffLength);
                };
                strm.Close();
                fs.Close();
            }
            catch (Exception Ex)
            {
                MessageBox.Show("Ошибка публикации. Текст ошибки: \n" + Ex.Message);
                return;
            }
            finally
            {
                this.Enabled = true;
            };
            MessageBox.Show("Загрузка завершена!");
        }


Адрес файла, который закачиваем (значение настроек):
Код: c#
1.
Properties.Settings.Default.URL = 'ftp://<SERVER_IP>/filename.xls';



Собственно, вопрос: как побороть не отключая Касперского (бо админы сильно против). Или, другими словами, как включить требуемый Passive Mode и почему он не работает по дефолту?

Заранее спасибо всем откликнувшимся!

------------
С уважением, IKAR
...
Рейтинг: 0 / 0
C# снова проблема с FTP и Касперским
    #39191365
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В техподдержку Касперского написал?

Как вариант - добавить твою прогу Касперу в исключения. Это к админам.
...
Рейтинг: 0 / 0
C# снова проблема с FTP и Касперским
    #39191384
Фотография Ikar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забыл добавить:
1. На сайте Каспера указывается, что Активный режим FTP не поддерживается тынц
2. По словам админов - модуль, отвечающий за FTP отдельных настроек не имеет и списка исключений не поддерживает
3. Всякие ТоталКоммандеры и прочие ФАРы с установкой флага "Пассивный режим обмена (как Web-браузер)" работают исправно, т.е. проблема с "не включением" пассивноо режима - именно в коде или исходном объекте FtpWebRequest.
4. Консольный виндовый FTP не поддерживает пассивный режим и попытка что-либо сделать через него приводит к аналогичной ошибке 227 Entering Passive Mode
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / C# снова проблема с FTP и Касперским
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]