我正在使用Windows Azure云。
我正在尝试列出来自FTP站点的文件。该软件在我的本地机器上工作正常,但是,我得到一个关于我的Windows防火墙的弹出窗口。使用Windows Azure Cloud,有没有办法为FTP Web请求添加防火墙规则?
我客户的FTP服务器仅支持有效配置:
注意!!请确保您处于“活动”模式,因为“被动”模式不起作用。主动FTP要求客户端防火墙允许高于>的流量。 1023从港口20& 21.端口20是大多数人忘记允许的数据通信端口。检查硬件防火墙和软件防火墙,如(XP防火墙)。
这是错误:
System.Net.FtpClient.FtpCommandException: Cannot open data connection.
这是我的代码:
private FtpClient GetFtpClient()
{
FtpClient ftp = new FtpClient();
ftp.Host = m_FtpUrl;
ftp.DataConnectionType = FtpDataConnectionType.AutoActive;
ftp.Credentials = new NetworkCredential(m_FtpUserName, m_FtpPassword);
ftp.SetWorkingDirectory("/Orders/Archive/");
return ftp;
}
private List<string> ListFiles()
{
List<string> lines = new List<string>();
FtpClient ftp = GetFtpClient();
foreach (FtpListItem item in ftp.GetListing(ftp.GetWorkingDirectory()))
{
if (item.Type == FtpFileSystemObjectType.File)
lines.Add(item.Name);
}
return lines;
}
我已在端点中允许端口20,21和1023:
当我使用FileZilla时,响应是:
Status: Disconnected from server
Status: Resolving address of trade.marketplace.buy.com
Status: Connecting to 209.67.181.90:21...
Status: Connection established, waiting for welcome message...
Status: Connected
Status: Retrieving directory listing...
Command: PWD
Response: 257 "/" is current directory.
Command: TYPE I
Response: 200 Type set to I.
Command: PORT 209,67,181,90,23,189
Error: Disconnected from server: ECONNABORTED - Connection aborted