0

すでにこれに似た質問がありますが、与えられた答えは私の問題を解決しません。これが私のコードです

. . struct curl_slist *slist = NULL;

curl_easy_setopt( Curl, CURLOPT_UPLOAD, 1L);
curl_easy_setopt( Curl, CURLOPT_URL, "sftp://user:user@blah.blah.net:22/my_temp_file.txt");
curl_easy_setopt( Curl, CURLOPT_READFUNCTION, my_read_func));
curl_easy_setopt( Curl, CURLOPT_READDATA, &my_read_data);

slist = curl_slist_append( slist, "RNFR my_temp_file.txt");
slist = curl_slist_append( slist, "RNTO my_file.txt");

curl_easy_setopt( Curl, CURLOPT_POSTQUOTE,  slist);

rc = curl_easy_perform(Curl);

. . .

上記を実行すると、CURLE_QUOTE_ERROR が発生します (ファイル転送は実際に行われますが、名前の変更は行われません)。引用後のオプションを省略した場合、すべてが (以前と同様に) エラーなしで機能します。

from/to 名のさまざまな形式をすべて試しましたが、役に立ちませんでした。何か案は ?

4

2 に答える 2

3

ドキュメントには次のように記載されています。

有効な SFTP コマンドは、chgrp、chmod、chown、ln、mkdir、pwd、rename、rm、rmdir、symlink (curl (1) を参照) です。

したがって、「rename」を使用してファイルの名前を変更します。

使用した RNFR/RNTO は FTP コマンドであり、名前は似ていますが、SFTP は FTP とは大きく異なります。

于 2012-10-10T19:55:05.777 に答える