我写了一些访问FTP服务器并下载平面文件的代码。它可以在我的WAMP (Windows5.3.10)开发环境中工作,但在生产服务器(5.3.2 - Linux)上调用ftp_nlist时会失败。
它在那里停留了大约30秒,然后死了,并显示了编码错误消息[FTP] Unable to retrieve files in the directory。
相关代码如下:
$link = ftp_connect(constant("FTP_SERVER"));
if(!$link)
die("Unable to open connection to FTP Server:
我正在寻找一个Bash脚本来将一个简单的ls命令输出从我的FTP服务器重定向到我的Linux上的一个文件。
这里按照一步一步的命令来说明我想要的脚本。可以在没有用户/密码的情况下访问FTP站点,因此当提示时,我输入用户为anonymous,密码为空。
ftp <FTP_SERVER>
Connected to <FTP_SERVER> (IP_ADDRESS).
220 Microsoft FTP Service
Name (<FTP_SERVER>:root): anonymous
331 Anonymous access allowed, send id
我试图在ant中通过ftp拉出文件,在打印“获取文件”后挂起,所以我在ant中启用了debug,我的输出是
[root@LODIVM11SE001 net]# ant -d -f ftp_t.xml
Apache Ant version 1.6.5 compiled on June 2 2005
Buildfile: ftp_t.xml
Adding reference: ant.PropertyHelper
Detected Java version: 1.5 in: /root/jdk1.6.0_10/jre
Detected OS: Linux
Adding reference: ant
我必须编写FTP服务器的代码,而且我对数据如何传输有问题。
我在linux上使用ftp命令来测试它,我目前正在开发LIST,它发送工作目录中的文件/目录列表。一切正常(ftp很好地打印文件列表),除了ftp打印以下警告外:
WARNING! 5 bare linefeeds received in ASCII mode
File may not have transferred correctly.
我想删除这个警告,我认为ftp正在等待二进制数据,但我不知道如何通过套接字发送这样的数据,我目前正在做最基本的方式来发送ls结果:
dup2(dst_channel, 1);
execlp(
我尝试从ftp = 复制许多o文件,因此:
我用以下文本创建了一个code.txt文件:
open ftp://ftp.prodega.ch
user
password
lcd /D "E:\f2\" //this is my local directory
cd Bilder1/ //this is ftp folder
mget *
pause
我在cmd中执行了此行: ftp -s:code.txt,但遇到了以下错误:未知主机:,请帮助我
我需要扫描一个特定的文件夹来查找最新的文件(主要是检查修改日期,看看哪个是最新的),但请记住,这些文件的名称是随机的。这是我到目前为止所得到的:
procedure TForm1.Button1Click(Sender: TObject);
begin
ftp.Host := 'domain';
ftp.Username := 'username';
ftp.password := 'password';
ftp.Connect;
ftp.Put('random-filename.ext'); //This is where i