C# 找到FTP错误的原因?
如何找到FTP 500错误的确切原因-System.Net.WebException:远程服务器返回错误:(500)语法错误,无法识别命令 这是在进行FTP传输时发生的。300KB以下的所有文件都将无错误地传输。但只有一个传输错误。我如何找出原因?还有,你怎么办 我得到与FTPStatus代码相关联的号码了吗?错误500=CommandSyntaxError的枚举名称是 此代码(在catch部分中)无助于-C# 找到FTP错误的原因?,c#,.net,ftp,C#,.net,Ftp,如何找到FTP 500错误的确切原因-System.Net.WebException:远程服务器返回错误:(500)语法错误,无法识别命令 这是在进行FTP传输时发生的。300KB以下的所有文件都将无错误地传输。但只有一个传输错误。我如何找出原因?还有,你怎么办 我得到与FTPStatus代码相关联的号码了吗?错误500=CommandSyntaxError的枚举名称是 此代码(在catch部分中)无助于- catch (WebException webex) { FtpWebRespo
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系列:语法错误,命令无法识别,请求的操作未发生。这可能包括命令行过长等错误 检查事项:
并非所有FTP服务器都支持unicode。在这种情况下,如果允许的话,最简单的选择是删除或替换任何非ASCII字符。实际上,使用FTP处理unicode非常困难,因此如果该解决方案可行,那么它是最简单的。
或者,您可以使用原始FTP命令“FEAT UTF8”检查FTP服务器是否支持unicode。即使如此,您仍然需要发送原始命令“OPTS UTF8 ON”来启用它。(我猜FTPWebRequest会自动发送“OPTS UTF8 ON”。)
这可能会导致服务器的路径超过字符长度限制(例如:如果服务器的homedir路径很长,则会进行映像)
可能还需要try块中的代码。@user1378730-可能或肯定?谢谢。我将检查1和2以了解问题的原因。