首页 >后端开发 >php教程 >请教 FTP over SSL with libcurl

请教 FTP over SSL with libcurl

WBOY
WBOY原创
2016-06-23 14:39:271218浏览

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,今天结贴才看到,呵呵

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn