我正在尝试为SFTP和FTP传输实现libcurl。在传输过程中,我想使用SFTP协议。万一失败了,如果libcurl能在完全放弃之前尝试FTP,那就太好了。
其目的是用户将数据发送到远程服务器。在内部,如果发现它不是sftp服务器,那么它可能是ftp服务器。
我一直将url与“s ftp://”“或"ftp://".”连接起来。我试着做以下几件事
curl_easy_setopt(curl_handle, CURLOPT_FOLLOWLOCATION, 1);
curl_easy_setopt(curl_handle, CURLOPT_PROTOCOLS, CURLPROTO_SFTP | CURLPROTO_FTP);
curl_easy_setopt(curl_handle, CURLOPT_REDIR_PROTOCOLS, CURLPROTO_SFTP | CURLPROTO_FTP);有什么建议吗?有人能给我举个例子吗?或者至少让我知道我是否朝着正确的方向前进。
发布于 2014-08-28 22:03:40
协议是您设置的位掩码,用于告诉libcurl允许重定向到哪些协议。实际上,重定向只能通过HTTP接收。重定向是来自服务器的指令集,用于在不同的URL上尝试请求。
SFTP没有重定向功能,所以只要不使用HTTP,就没有必要设置这个位掩码。
如果失败,libcurl无法自动尝试不同的协议,这种逻辑必须由应用程序实现。
https://stackoverflow.com/questions/25558500
复制相似问题