【问题标题】:incomplete FTP transfer不完整的 FTP 传输
【发布时间】:2023-03-11 17:49:01
【问题描述】:
use Net::FTP;

$ftp = Net::FTP->new($host) or die "Cannot connect to $host: $@";
$ftp->binary;
$ftp->login($user, $pass) or die "Cannot login: ", $ftp->message;
$ftp->cwd("downloads") or die "Cannot change working directory to downloads: ", $ftp->message;
@ls = $ftp->ls;
if (@ls)
{
    $ftp->get($ls[0]) or warn "Cannot get $ls[0]: ", $ftp->message;
    $ftp->delete($ls[0]) or warn "Cannot delete $ls[0]: ", $ftp->message;;
}
$ftp->quit;

当我运行上面连接到远程主机的 FTP 服务器的代码时,它试图在downloads 目录中获取一个 PDF 文件,但传输的 PDF 文件比原始文件小 8 个字节,所以它无法在 PDF 阅读器中正确打开。

有什么我做的不对吗? FTP 服务器是 Ubuntu 上的 vsftpd。

【问题讨论】:

  • CRLF→LF 翻译由->binary()修复?
  • @ikegami 我通过在登录之后而不是之前将->binary() 来修复它。
  • 啊,我没注意到你曾尝试使用->binary。是的,当您未登录时服务器会忽略命令,我并不感到惊讶 :) 随意自我回答

标签: perl ftp vsftpd net-ftp


【解决方案1】:

登录后输入->binary

【讨论】:

    猜你喜欢
    • 2013-02-07
    • 2016-09-09
    • 1970-01-01
    • 1970-01-01
    • 2017-12-25
    • 2014-03-03
    • 2016-01-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多