2013-12-09 94 views
0

everyone!ftp over windows通過libcurl在SSL上

我yanrk,我得到了一個問題:

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); 

,當我使用此代碼運行,我得到的消息:

  • 關於以()連接到127.0.0.1端口990(#0)
  • 嘗試127.0.0.1 ...
  • 添加手柄:康恩:0x3ff480
  • 添加手柄:發送:0
  • 添加手柄:RECV:0
  • Curl_addHandleToPipeline:長度:1
    • 康恩0(0x3ff480)send_pipe:1,recv_pipe:0
  • 連接到127.0.0.1(127.0.0.1)端口990(#0)

它堵在這裏,不是AUTH SSL/TLS

我尋找這麼多頁,並與他們嘗試,但未能送花兒給人

所以任何人都知道如何解決這個代碼?

謝謝!

回答

0

使用帶有libcurl的FTP:// URL意味着顯式的FTPS,這意味着它將以純文本形式開始並使用顯式命令升級到SSL。這通常在端口21上完成。

端口990通常用於隱式FTPS,這意味着服務器在協商階段已經說SSL,然後您需要使用帶有libcurl的FTPS:// URL。

根據你的錯誤描述,我猜你需要一個FTPS:// URL。