用本机做FTP服务器,用cmd-ipconfig查到本机的IP地址。在我的电脑-管理中增加一个ftp网站,设置端口=220
在防火墙中-高级设置-入站规则中,设置本地端口=220
在文件管理器中,输入ftp://localhost:220,可以访问到绑定的文件夹
但执行
Dim ftp As New FtpClient
ftp.Host = "192.168.1.9" '这是本机IP
ftp.Account = "KDFTPUser" '这是专为ftp设置的一个账号
ftp.Password = "KDNY" '这是ftp账号对应的密码
If ftp.Connected = False Then'如果FTP没有连接
If ftp.Connect Then '连接FTP
Output.Show("OK")
Else
Output.Show("没连上") '这是命令窗口运行的结果
End If
Else
Output.Show("NO")
End If
但是,如果把端口号改为21,命令窗口执行的结果是“OK”
是ftp只能是21端口吗?
Dim s As String = FileSys.ReadAllText(".\kdinix.txt", Encoding.Default) '把ftp有关的信息写入配置文件
For Each x As String In s.Split(chr(10))
Dim y As String() = x.Split(":")
Vars(y(0)) = y(1) '定义了全局变量
Next
Dim ftp1 As New FtpClient
ftp1.Host = Vars("Safe_FTPAddress") '"192.168.1.7"
ftp1.Account = Vars("Safe_FTPUser") '"KDFTPUser"
ftp1.Password = Vars("Safe_FTPPW") '"KDNY"
ftp1.Port = Vars("Safe_FTPPort") '2200
output.Show(ftp1.Host & ";" & ftp1.Account & ";" & ftp1.Password & ";" & ftp1.Port)
If ftp1.Connected = False Then'如果FTP没有连接
If ftp1.Connect Then '连接FTP
ftp1.OpenManager() '如果连接成功,打开FTP客户端
Else
output.show("连接FTP失败!")
End If
End If
命令窗口运行结果是:
192.168.1.7;KDFTPUser;KDNY;2200
连接FTP失败!
但如果把ftp1.Host = Vars("Safe_FTPAddress") 改为 ftp1.Host ="192.168.1.7"
以及把其它的参数不使用全局变量,运行结果又是成功的
是ftp的参数不能使用vars?
肯定可以使用全局变量的。估计是全局变量里存储的内容不正确。或者有空格回车符等