我用perl编写了下面的FTP客户端程序。在一台服务器上执行得很好。如果我试图在不同的服务器上执行相同的命令,我将得到PASV命令,而不是实现错误。如果我在FTP构造函数中给出Passive=>0,就会得到ALLO没有实现。请告诉我为什么会有这个错误,以及如何解决这个错误。
#!/usr/bin/perl -w
use strict; # Don't forget !
use Net::FTP;
my $host = "X.X.X.X";
my $user = "abc";
my $password = "xxx"
我想从FTP服务器下载一些大文件(GB)。第一个文件的下载总是有效的。然后,当我试图获得第二个文件时:
“套接字错误# 10038.对非套接字进行套接字操作.”
错误在“Get”上。在“Get”之后,我看到了这些消息(通过FTP状态事件):
Starting FTP transfer
Disconnecting.
Disconnected.
代码如下:
{pseudo-code}
for 1 to AllFiles do
begin
if Connect2FTP then
begin
FTP.Get(Name, GzFile, TRUE
我有rails应用程序,它发送文件到FTP。我想要将整个文件夹移动到Ftp,但它给出了这个错误:
/home/Anup/code/DashGo-2.2.0/vendor/rails/railties/lib/commands/runner.rb:47: /usr/lib/ruby/1.8/net/ftp.rb:471:in `gets': Is a directory - /home/Anup/code/DashGo-2.2.0/private/temp_file (Errno::EISDIR)
from /usr/lib/ruby/1.8/net/ftp.rb:471:in
我正在尝试使用Indy的IdFTP通过FTP发送和接收一些文件。
function TDatosFTP.TransfiereFTP(Fm: TForm): boolean;
var
TimeoutFTP: integer;
begin
Result := false;
with TIdFTP.Create(Fm) do
try
try
TimeoutFTP := 2000;
Host := Servidor;
Port := 21;
UserName := Usuario;
PassWord := Contra
我想检查我的FTP服务器是主动的还是被动的。我只有服务器名、用户名和密码。我试着改编这个链接来实现它- -
我可以使用GUI FTP客户端连接到此服务器。但是,在microsoft/windows telnet中,我使用了命令o ftp.myftp.com。但是,我得到了错误- Could not open connection to the host on port 23:connect Failed。
我如何解决这个问题,并找出我的服务器是在做主动的还是被动的ftp连接?
在Ubuntu中,被动模式下的ftp -p运行良好。
如何在Windows中执行相同的操作?
我尝试使用quote pasv,但得到以下错误:
230 OK. Current restricted directory is /
ftp> quote pasv
227 Entering Passive Mode (31,170,167,221,116,239)
ftp> cd os
250 OK. Current directory is /os
ftp> dir
500 I won't open a connection to 10.