大家好!
我是笨蛋,我遇到了问题:
FTP服务器强制SSL用于用户登录
所以我这样编码:
curl_easy_setopt(ftp_handle, CURLOPT_URL, "ftp://192.168.1.xxx:990");
curl_easy_setopt(ftp_handle, CURLOPT_USERNAME, "user");
curl_easy_setopt(ftp_handle, CURLOPT_PASSWORD, "password");
curl_easy_setopt(ftp_handle, CURLOPT_SSL_VERIFYPEER, 1L);
curl_easy_setopt(ftp_handle, CURLOPT_SSL_VERIFYHOST, 2L);
curl_easy_setopt(ftp_handle, CURLOPT_SSLVERSION, CURL_SSLVERSION_DEFAULT);
curl_easy_setopt(ftp_handle, CURLOPT_FTPSSLAUTH, CURLFTPAUTH_SSL);
curl_easy_setopt(ftp_handle, CURLOPT_VERBOSE, 1L);
CURLcode res = curl_easy_perform(ftp_handle);
当我使用此代码运行时,我收到消息:
它阻止在这里,而不是auth ssl / tls
我搜索了很多页面,并尝试使用它们,但总是失败
那么,有谁知道如何修复此代码?
谢谢!
答案 0 :(得分:1)
使用带有libcurl的FTP:// URL意味着显式FTPS,这意味着它将以纯文本开头并使用显式命令升级到SSL。这通常是在21号端口完成的。
端口990通常用于隐式FTPS,这意味着服务器在协商阶段已经说SSL,然后你需要使用带有libcurl的FTPS:// URL。
根据您的错误说明,我猜你需要一个FTPS:// URL。