C#编程无法使用FTP远程上传数据至Windows服务器错误解决分享

最近接了个新任务,其中有个环节是使用ftp上传数据到服务器,呵呵!朋友们想节省时间走捷径,FTP Server就用Windows 2008 Server内置的FTP服务搭建,结果在部署测试时报错差点崩溃,查阅大量资料也没找到合理的答案,在此存档为大家节省时间。

  • 关键词:ftp  port  21 pasv 501 channel windows System.Net.WebException
  • 任务:FTP远程上传--使用C#编程上传数据至Windows 2008操作系统自带的FTP服务器非标准21端口
  • 测试环境:

FTP Client OS:Windows 7,未使用第三方FTP Client软件;

FTP Server OS:Windows 2008,使用Windows 2008 FTP服务,FTP服务使用端口21210(非标准21端口)。

  • 故障现象:
  1. Command下ftp登录成功后查看dir等命令出现“150 Opening ASCII mode data connection.”停滞无法继续,Ctrl+C后出现“终止所有活动的数据连接...
    425 Cannot open data connection.”
  2. System.Net.WebException: 远程服务器返回错误: (501) 参数或变量中有语法错误
  3. 英文类似错误:501 Server cannot accept argument
  • 原因分析:

经过测试观察,放开两端防火墙对应的端口20,21,21210就正常了。

  • 推论与建议:

局域网环境测试Windows FTP Server改用其它端口可正常使用PASV模式,建立ControlChannel或DataChannel,外部公网环境下Windows FTP Server与FTP Client之间必须放开两端防火墙相对应端口。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值