Без подключения к ftp с помощью c#

Я могу создать папку, могу переименовать файл, но не могу загрузить и скачать файл на ftp. Показано исключение System.Net.WebException: удаленный сервер вернул ошибку: (500) Синтаксическая ошибка, команда не распознана.

Кто-нибудь знает, почему?

файл журнала: System.Net Information: 0 : [6112] FtpControlStream#7746814 - Resposta recebida [500 PORT/EPRT (Active Mode/Extended Active Mode) is not supported. Use PASV/EPSV instead of this] System.Net Information: 0 : [6112] FtpWebRequest#30923613::(Liberando a conexão de FTP#7746814.) System.Net Error: 0 : [6112] Exceção em FtpWebRequest#30923613::GetRequestStream - O servidor remoto retornou um erro: (500) Erro de sintaxe, comando não reconhecido.

Код:

 /* Upload File */
public void upload(string remoteFile, string localFile)
{
    try
    {
        /* Create an FTP Request */
        ftpRequest = (FtpWebRequest)FtpWebRequest.Create(host + remoteFile);
        /* Log in to the FTP Server with the User Name and Password Provided */
        ftpRequest.Credentials = new NetworkCredential(user, pass);
        /* When in doubt, use these options */
        ftpRequest.UseBinary = true;
        ftpRequest.UsePassive = false;
        ftpRequest.KeepAlive = true;

        /* Specify the Type of FTP Request */
        ftpRequest.Method = WebRequestMethods.Ftp.UploadFile;
        /* Establish Return Communication with the FTP Server */
        Stream ftpStream = ftpRequest.GetRequestStream();
        /* Open a File Stream to Read the File for Upload */
        FileStream localFileStream = new FileStream(localFile, FileMode.Create);
        /* Buffer for the Downloaded Data */
        byte[] byteBuffer = new byte[bufferSize];
        int bytesSent = localFileStream.Read(byteBuffer, 0, bufferSize);
        /* Upload the File by Sending the Buffered Data Until the Transfer is Complete */
        try
        {
            while (bytesSent != 0)
            {
                ftpStream.Write(byteBuffer, 0, bytesSent);
                bytesSent = localFileStream.Read(byteBuffer, 0, bufferSize);
            }
        }
        catch (Exception ex) { Console.WriteLine(ex.ToString()); }
        /* Resource Cleanup */
        localFileStream.Close();
        ftpStream.Close();
        ftpRequest = null;
    }
    catch (Exception ex) { Console.WriteLine(ex.ToString()); }
    return;
}

person Thiago Schulz    schedule 01.06.2017    source источник
comment
т.е. используйте ftpRequest.UsePassive = true;, если только у вас нет очень веской причины не делать этого.   -  person Martin Prikryl    schedule 02.06.2017
comment
если я использую ftpRequest.UsePassive = true; Отображаемое исключение: Удаленный сервер вернул ошибку: 227 Вход в пассивный режим (201,23,75,26,225,86)   -  person Thiago Schulz    schedule 02.06.2017
comment
И вы пытались погуглить это сообщение об ошибке? Если вы это сделали, и ни одно из предложенных решений не помогло, отредактируйте свой вопрос для нового кода и ошибки. И убедитесь, что вы включили файл журнала, по крайней мере: stackoverflow.com/q/9664650/850848   -  person Martin Prikryl    schedule 02.06.2017
comment
Ошибка возникает в команде: Stream ftpStream = ftpRequest.GetRequestStream();   -  person Thiago Schulz    schedule 02.06.2017
comment
Извините, но первый раз задаю здесь вопрос. Я уже прочитал несколько сообщений, и я не нашел решения этой проблемы. Каждый раз, когда вы передаете в потоке запятую ftpStream = ftpRequest.GetRequestStream(); Выдает исключение. Я уже проверил это на другом ftp, и возникает та же проблема. Я не знаю, что еще делать.   -  person Thiago Schulz    schedule 02.06.2017
comment
Покажите нам файл журнала! + Я не нашел решения этой проблемы - Что это значит? Вы имеете в виду, что перепробовали все предложенные решения и ни одно не помогло? Или что вы считаете, что ни одно из предложенных решений не соответствует вашей ситуации? (Почему?)   -  person Martin Prikryl    schedule 02.06.2017
comment
Я попробовал несколько решений, но ни одно из них не решило. Как я могу отправить вам файл журнала, он слишком велик, чтобы публиковать его в комментариях?   -  person Thiago Schulz    schedule 02.06.2017
comment
Отредактируйте свой вопрос. Вся информация должна идти в вопрос, а не в комментарии.   -  person Martin Prikryl    schedule 02.06.2017
comment
Martin Prikryl Tanks за помощь   -  person Thiago Schulz    schedule 02.06.2017


Ответы (1)


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

person Thiago Schulz    schedule 02.06.2017
comment
Пожалуйста, не публикуйте повторяющиеся ответы: stackoverflow.com/a/24261401/850848. Вы должны были найти ответ в Google, прежде чем спрашивать ! - person Martin Prikryl; 02.06.2017