您的位置:首页 > 编程语言 > C#

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

2017-06-03 16:00 1381 查看
最近接了个新任务,其中有个环节是使用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端口)。

故障现象:

Command下ftp登录成功后查看dir等命令出现“150 Opening ASCII mode data connection.”停滞无法继续,Ctrl+C后出现“终止所有活动的数据连接...

425 Cannot open data connection.”
System.Net.WebException: 远程服务器返回错误: (501) 参数或变量中有语法错误
英文类似错误:501 Server cannot accept argument

原因分析:

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

推论与建议:

局域网环境测试Windows FTP Server改用其它端口可正常使用PASV模式,建立ControlChannel或DataChannel,外部公网环境下Windows FTP Server与FTP Client之间必须放开两端防火墙相对应端口。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐