Home >Backend Development >PHP Tutorial >请教 FTP over SSL with libcurl

请教 FTP over SSL with libcurl

WBOY
WBOYOriginal
2016-06-23 14:39:271214browse

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn