C 使用FTP客户端向FTP服务器发送文件

C 使用FTP客户端向FTP服务器发送文件,c,ftp,C,Ftp,我想创建一个C程序,向FTP服务器发送一个.xml文件,并定期向该服务器发送用户名和密码。最简单的方法是什么 我的一个想法是只创建包含指令的字符串,然后使用systemcommand执行这些指令,但是我以前没有使用FTP,所以不知道如何使用正确的命令来执行这些指令。有没有更好的办法?或者,如果这种方式有效,我将使用什么命令通过FTP发送文件 ftp -u ftp://user:passt@ftp.ftpserver.com/local-file.txt local-file.txt 也许lf

我想创建一个C程序,向FTP服务器发送一个.xml文件,并定期向该服务器发送用户名和密码。最简单的方法是什么

我的一个想法是只创建包含指令的字符串,然后使用systemcommand执行这些指令,但是我以前没有使用FTP,所以不知道如何使用正确的命令来执行这些指令。有没有更好的办法?或者,如果这种方式有效,我将使用什么命令通过FTP发送文件

 ftp -u ftp://user:passt@ftp.ftpserver.com/local-file.txt local-file.txt
也许lftp是一个更好的选择


在这种情况下,shell脚本比C程序更易于管理和完成任务

或者您可以使用“scp”发送此文件

$ scp <username>@<ftp-server-ipaddress>:/path/ftp-server/dir <your file>
或“sftp”,这对浏览ftp服务器有额外的优势

 $ sftp username@<ftp-server-ipaddress>
password:
$ ls
$ pwd
您可以使用简单的linux命令和ftp服务器,如果需要检查主机命令,则必须添加“l”作为前缀

$lls
$lpwd                   # working on your machine with sftp login

$ put <your .xml file>  # puts your file to ftpserver
$ get <anyfile>         # gets files from ftp server

这在很大程度上取决于系统上的FTP程序。它可能具有仅使用命令行选项发送文件的选项,也可能没有。您确实需要首先对此进行研究。感谢您的响应,我尝试了lftp命令,但是得到的响应是:XMLTest-Automated.xml:致命错误:证书验证:不可信更正了它,包括将set ftp:ssl allow false添加到lftp.config
$lls
$lpwd                   # working on your machine with sftp login

$ put <your .xml file>  # puts your file to ftpserver
$ get <anyfile>         # gets files from ftp server