欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

请教 FTP over SSL with libcurl

程序员文章站 2024-02-13 22:17:22
...
code = curl_easy_setopt(ftp_handle, CURLOPT_URL, "ftp:127.0.0.1:990/");code = curl_easy_setopt(ftp_handle, CURLOPT_USERNAME, "username");code = curl_easy_setopt(ftp_handle, CURLOPT_PASSWORD, "password");code = curl_easy_setopt(ftp_handle, CURLOPT_DIRLISTONLY, 1L); /*code = curl_easy_setopt(ftp_handle, CURLOPT_FTP_SSL_CCC, CURLFTPSSL_CCC_NONE);code = curl_easy_setopt(ftp_handle, CURLOPT_SSL_VERIFYPEER, 1L);code = curl_easy_setopt(ftp_handle, CURLOPT_SSL_VERIFYHOST, 2L);code = curl_easy_setopt(ftp_handle, CURLOPT_FTPSSLAUTH, CURLFTPAUTH_TLS);code = curl_easy_setopt(ftp_handle, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);*/ /*code = curl_easy_setopt(ftp_handle, CURLOPT_TLSAUTH_TYPE, 1L);code = curl_easy_setopt(ftp_handle, CURLOPT_TLSAUTH_USERNAME, "tms");code = curl_easy_setopt(ftp_handle, CURLOPT_TLSAUTH_PASSWORD, "ewstms");*/ /*code = curl_easy_setopt(ftp_handle, CURLOPT_USE_SSL, CURLUSESSL_ALL);*/ code = curl_easy_setopt(ftp_handle, CURLOPT_VERBOSE, 1L);CURLcode res = curl_easy_perform(ftp_handle);

上面的代码,会一直在curl_easy_perform轮询,什么也没做,等到超时了才跳出来,不知道怎么弄


虽然我贴的是C++的代码,但我看到PHP也会用到libcurl(CURL),所以来碰下运气

问题:
FTP服务器强制要求SSL认证登陆,
客户端的代码,应该如何设置选项? (curl_easy_setopt应该设置哪些内容)
网上找不到有用的资料,如果你刚好做过这个,希望给予帮助,谢谢

回复讨论(解决方案)

http://cgwxyz.blog.163.com/blog/static/2628060201202953249575/

http://www.web-development-blog.com/archives/tutorial-ftp-upload-via-curl/

http://bbs.csdn.net/topics/350170833

http://bbs.csdn.net/topics/350170833
谢谢

但你给的这些,都不带SSL认证的
如果FTP服务器强制要求SSL认证登陆,这些就都不行了吧

换成:

curl_easy_setopt(ftp_handle, CURLOPT_URL, "ftps://192.168.1.63");

本来昨天下班时已经打算放弃了,
但今天还是想试一下,逐步跟进源代码,发现不用FTPS的handle,
而是用的FTP的handle,于是猜测是协议写的不对,
改成上面的就可以了,蒙对了,

但其实,昨天就有人在stack overflow上给了我答案,公司登不上stack overflow,今天结贴才看到,呵呵