curl 无法将文件上传到 ftp

curl 无法将文件上传到 ftp

我正在使用curl它将文件上传到 ftp 服务器。 同一脚本在另一个系统上运行,但在此系统上连接到 ftp 后它不执行任何操作并且连接超时。 使用 -v 选项的详细输出如下:

curl -v -# -T live_mc.sql ftp://userid:[email protected]/rdirc/
* About to connect() to myserver.dyndns.biz port 21 (#0)
*   Trying xxx.xxx.xxx.xx... connected
* Connected to myserver.dyndns.biz (96.55.199.63) port 21 (#0)
< 220-FileZilla Server version 0.9.37 beta
< 220-written by Tim Kosse ([email protected])
< 220 Please visit http://sourceforge.net/projects/filezilla/
> USER userid
< 331 Password required for userid
> PASS pwd
< 230 Logged on
> PWD
< 257 "/" is current directory.
* Entry path is '/'
> CWD rdirc
< 250 CWD successful. "/rdirc" is current directory.
> EPSV
* Connect data stream passively
< 229 Entering Extended Passive Mode (|||3271|)
*   Trying xxx.xxx.xxx.xx...

我也尝试了--upload-file,--user选项,但没有成功。请帮忙找出问题所在。

答案1

解决了这个问题

--no-epsv

選擇 :D

答案2

感谢@TheVillageIdiot 分享此信息。我进行了大量研究,直到找到这个“--no-epsv”方法,所以我想向感兴趣的人报告,它使 CURL 在虚拟机内部工作(我已经在 Windows 7 主机内运行的 Linux VM 上对其进行了测试),至少可以发送文件:

curl -u "myuser:mypassword" --upload-file MyFile.txt ftp://ftp.phpnet.us/htdocs/Test --no-epsv

相关内容