在c程序中如何调ftp?

在c程序中如何调ftp?
一定要在c中,不能用shell
最好有实例
---------------------------------------------------------------

不知道你的平台是不是 sco unix, 如果是的话,撞大奖了, SCO提供一套 ftp 的API函数,可以用 man ftp_api 可以查看对应的帮助。

如果是其他系统,试试用 ftp 当作关键字来查看man中有没有对应api.
---------------------------------------------------------------

SCO提供一套 ftp 的API函数,但不能改用C++,不然编译同不过
---------------------------------------------------------------

装一个ncftp吧
---------------------------------------------------------------

教你一个手工方法:
telnet $HOSTNAME ftp
>USER $USERNAME
>PASS $PASSWORD
>PASV
这时会回答你PASV(xxx,xxx,xxx,xxx,aaa,bbb)
再开一个telnet:
telnet $HOSTNAME aaa * 256 + bbb
在第一个连接当中写
retr /etc/hosts
看看第二个连接,是不是收到数据了

用程序实现,这种方法可移植性强,并且不复杂

---------------------------------------------------------------

需要改两出处。

第一处是你改错了。
不能是:
if (execl("/usr/bin/ftp", "ftp -vn<

n+=read(fi, &buf[n], size);
改成:
while(poll(fds, 1, 100)>0)
{
int t;
if (!(t=read(fi, &buf[n], size)))
break;
n+=t;
}

Published At
Categories with 服务器类
Tagged with
comments powered by Disqus