Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 找到FTP错误的原因?_C#_.net_Ftp - Fatal编程技术网

C# 找到FTP错误的原因?

C# 找到FTP错误的原因?,c#,.net,ftp,C#,.net,Ftp,如何找到FTP 500错误的确切原因-System.Net.WebException:远程服务器返回错误:(500)语法错误,无法识别命令 这是在进行FTP传输时发生的。300KB以下的所有文件都将无错误地传输。但只有一个传输错误。我如何找出原因?还有,你怎么办 我得到与FTPStatus代码相关联的号码了吗?错误500=CommandSyntaxError的枚举名称是 此代码(在catch部分中)无助于- catch (WebException webex) { FtpWebRespo

如何找到FTP 500错误的确切原因-System.Net.WebException:远程服务器返回错误:(500)语法错误,无法识别命令

这是在进行FTP传输时发生的。300KB以下的所有文件都将无错误地传输。但只有一个传输错误。我如何找出原因?还有,你怎么办 我得到与FTPStatus代码相关联的号码了吗?错误500=CommandSyntaxError的枚举名称是

此代码(在catch部分中)无助于-

catch (WebException webex)
{
    FtpWebResponse ftpWebResponse = (FtpWebResponse) webex.Response;
    if(ftpWebResponse != null){

        Stream stream = ftpWebResponse.GetResponseStream();
        StreamReader streamReader = new StreamReader(stream, true);

        string error = ftpWebResponse.ToString();
        string respStream = "";

        try
        {
            respStream = streamReader.ReadToEnd();
        }
        finally
        {
            streamReader.Close();
        }

        MessageBox.Show("to string " + error + Environment.NewLine + 
        "stream " + streamReader);

    }
}

500是来自FTP服务器的代码。您可以在此处查看FTP返回代码的详细信息:

500系列:语法错误,命令无法识别,请求的操作未发生。这可能包括命令行过长等错误

检查事项:

  • 文件名中是否有unicode或“怪异”字符
    并非所有FTP服务器都支持unicode。在这种情况下,如果允许的话,最简单的选择是删除或替换任何非ASCII字符。实际上,使用FTP处理unicode非常困难,因此如果该解决方案可行,那么它是最简单的。
    或者,您可以使用原始FTP命令“FEAT UTF8”检查FTP服务器是否支持unicode。即使如此,您仍然需要发送原始命令“OPTS UTF8 ON”来启用它。(我猜FTPWebRequest会自动发送“OPTS UTF8 ON”。)
  • 文件路径是否过长?
    这可能会导致服务器的路径超过字符长度限制(例如:如果服务器的homedir路径很长,则会进行映像)

  • 可能还需要try块中的代码。@user1378730-可能或肯定?谢谢。我将检查1和2以了解问题的原因。