我已尝试过在Google搜索结果中找到的所有内容
200 PORT命令成功
但没有任何帮助。
有人可以协助解决这个问题吗?
“runScript.bat:
的代码ftp -s:"C:\automation\fileup.bat" myserver.com
“fileup.bat:
的代码username
password
ascii
cd "/public_html/reports/"
lcd "C:\automation\tests\HtmlReporter"
prompt
mput *
disconnect
close
bye
控制台日志:
C:\automation>ftp -s:"C:\automation\fileup.bat" myserver.com
Connected to myserver.com.
220---------- Welcome to Pure-FTPd [privsep] ----------
220-You are user number 7 of 500 allowed.
220-Local time is now 04:40. Server port: 21.
220-This is a private system - No anonymous login
220 You will be disconnected after 3 minutes of inactivity.
User (server26.000webhost.com:(none)):
331 User username OK. Password required
230-OK. Current restricted directory is /
230-449 files used (4%) - authorized: 10000 files
230 16742 Kbytes used (1%) - authorized: 1536000 Kb
ftp> ascii
200 TYPE is now ASCII
ftp> cd "/public_html/reports/"
250 OK. Current directory is /public_html/reports
ftp> lcd "C:\automation\tests\HtmlReporter"
Local directory now C:\automation\tests\HtmlReporter.
ftp> prompt
Interactive mode Off .
ftp> mput *
200 PORT command successful
关于WinSCP(对于Martin)的错误“:
C:\Users\idan>cd c:\automation\
c:\automation>runFTP.bat
c:\automation>winscp.com /command "open ftp://user:pass@myserver.com/" "cd /public_html/reports/" "lcd C:\automation\tests\HtmlRepo
rter" "put *" "exit"
'winscp.com' is not recognized as an internal or external command,
operable program or batch file.
c:\automation>
答案 0 :(得分:12)
这看起来像FTP活动模式的典型问题。服务器无法连接回您的计算机以建立数据传输连接。
这通常发生在当今大多数客户端计算机位于防火墙或NAT之后或两者之间,这会阻止FTP活动模式工作。要使活动模式工作,您需要打开防火墙(不推荐)和/或配置NAT路由规则。
请参阅FTP modes and configuring network for the active mode上的文章。
或者您使用被动FTP模式。 Windows ftp.exe
客户端不支持被动模式,这使得它现在变得毫无用处。
因此您需要使用另一个命令行FTP客户端。大多数FTP客户端都支持被动模式。
例如WinSCP runScript.bat
就像winscp.com /command ^
"open ftp://username:password@myserver.com/" ^
"cd /public_html/reports/" ^
"lcd C:\automation\tests\HtmlReporter" ^
"put *" ^
"exit"
一样:
malloc
请注意,WinSCP默认为被动模式。
有关详细信息,请参阅WinSCP指南:
(我是WinSCP的作者)
答案 1 :(得分:1)
我有完全相同的问题(“200 PORT命令成功”永远停留在屏幕上),我能够解决它。
首先,互联网上有很多帖子说Windows ftp.exe不支持被动模式。事实并非如此:
FTP>引用pasv
227进入被动模式
在我的情况下,我有一台带有真实IP的Windows 2012 R2服务器。切换到被动模式并没有解决问题,我仍然坚持“200 PORT命令成功”。同时WinSCP工作正常。解决方案是创建入站防火墙规则,允许从FTP服务器到本地ftp.exe的外部连接。