Ftp 在 C# 中使用 TcpClient

Ftp using TcpClient in C#

TcpClient tcp= new TcpClient();
tcp.Connect("192.168.10.1",21);
tcp.GetStream();

if(tcp.Connected.ToString()=="True")
{
    NetworkStream ns=tcp.GetStream();

    using(NetworkStream stream-tcp.GetStream())
    {
         byte[] username=System.Text.Encoding.ASCII.GetBytes(user+"\r\n")
         stream.Wrtie(username,0,user.Length);

         byte[] password=System.Text.Encoding.ASCII.GetBytes(pass+"\r\n")
         stream.Wrtie(password,0,pass.Length);
         MessageBox.Show(""+ns.Read(data,0,data.Length)+"");
    }
}

我正在使用上面的代码 ftp 一个使用 tcpclient 的路由器,它 returns 一个错误提示“530 请使用 USER 和 PASS 登录”。

如果您要使用 TcpClient class(就像您正在做的那样),那么您将必须实施 FTP 规范(https://www.ietf.org/rfc/rfc959.txt).

不过,我认为最好找一个 FTP 客户端库来代替使用。