簡體   English   中英

CURL-通過TLS連接顯式FTP

[英]CURL - Connect explicit FTP over TLS

我正在嘗試使用加密作為TLS上的顯式FTP連接到FTP服務器。

curl_setopt($ch, CURLOPT_URL, 'ftp.mydomain.com/orders'.$filename);
curl_setopt($ch, CURLOPT_USERPWD, 'uname:pwd');
curl_setopt($ch, CURLOPT_UPLOAD, 1);
curl_setopt($ch, CURLOPT_INFILE, $fp);
curl_setopt($ch, CURLOPT_PORT, 21);
curl_setopt($ch, CURLOPT_INFILESIZE, filesize($localfile));
curl_exec ($ch);
$error_no = curl_errno($ch);

我必須將文件上傳到該位置,但是在連接到服務器時,它給出了錯誤號56(響應讀取失敗)。 我不確定我是否使用正確的選項通過TLS顯式連接FTP。

不僅您沒有啟用TLS / SSL。 您甚至都沒有指定要使用的協議。 CURL默認為HTTP。 因此,您的代碼將失敗,因為CURL嘗試將HTTP與FTP服務器通信。

要選擇FTP並強制執行TLS / SSL,請執行以下操作:

curl_setopt($ch, CURLOPT_PROTOCOLS, CURLPROTO_FTP);
curl_setopt($ch, CURLOPT_FTP_SSL, CURLFTPSSL_ALL);

嘗試以下代碼-

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_FTP_SSL, CURLFTPSSL_TRY);
curl_setopt($ch, CURLOPT_FTPSSLAUTH, CURLFTPAUTH_TLS);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM