次のコードを使用して、ファイルをsFTP
サーバーにアップロードしています。 FileZillaを使用してテストアップロードを行い、ファイルが正常にアップロードされました。 SftpClientがIPの代わりにURLをホストとして使用
try
{
var client = new SftpClient(host, port, username, password);
client.Connect();
client.ChangeDirectory(workingDir);
var listDirectory = client.ListDirectory(workingDir);
foreach (var file in files)
{
var fileStream = new FileStream(file, FileMode.OpenOrCreate);
client.BufferSize = 4 * 1024; // bypass payload error large files
client.UploadFile(fileStream, Path.GetFileName(file));
Log.Info(string.Format("File [{0}] upload complete",file));
}
}
catch (Exception ex)
{
Log.Error(ex.Message);
}
しかし、上記のコードでは、私は次のエラーを取得するので、アップロードを成し遂げるように見えることはできません。
No such host is known
そして、私は代わりに私のホストのURL値を使用していますので、それは多分ですがIP? (私はIPを使って別のFtPサーバーでテストを行いましたが、これも機能しているようです)そうなら、私は疑問に思っていますか?もしそうなら、SftpClient
(Ssh.Net)のURLを処理させる方法はありますか?
hostパラメータには、IPアドレスまたはIPアドレスに解決できるホスト名を使用できます。それは明らかにURLではないかもしれません、それはまったく違うものです。 – arkascha
@arkaschaは 'ftp.staging.blahblahblah.com/ContactImport'を名前のように見せませんか? FileZillaは問題はないようですが、私のプログラムはそうです。 – Disasterkid
いいえ、それは部分ホスト名、パーツパスとして解釈される文字列のようです。これはURLでもホスト名でもありません。ホスト名は 'ftp.staging.blahblahblah.com'です。 – arkascha