2

私はC#の初心者であり、C#を使用してSFTPにアクセスしようとしています(インターネットからコードを取得する)。以下のコードを書いてみました。しかし、私は次のように例外を取得しています:

IPHostEntry hostInfo = Dns.GetHostByName(@"sftp://........");
// Get the IP address list that resolves to the host names contained in the 
// Alias property.
IPAddress[] address = hostInfo.AddressList;
// Get the alias names of the addresses in the IP address list.

「SocketExceptionがキャッチされました:要求された名前は有効ですが、要求されたタイプのデータが見つかりませんでした」

私はこれについて多くを見つけましたが、理解できませんでした。また、 Tamir.SharpSSHライブラリを使用してSFTPに接続しようとしましたが、同じ例外が発生しました。

それに対するいくつかの解決策を提案してください。私のプロジェクトではこれが必要です。

ありがとう

4

1 に答える 1

5

私はあなたが変更する必要があると思います:

IPHostEntry hostInfo = Dns.GetHostByName(@"sftp://server.address.com");

に:

IPHostEntry hostInfo = Dns.GetHostByName(@"server.address.com");

DNSは、サーバーへのアクセスに使用しているプロトコルsftp://)を認識せず、サーバーのみを考慮します。

:MicrosoftはこのDns.GetHostByName方法を廃止したと見なし、代わりにこのDns.GetHostEntry方法を使用することをお勧めします。

于 2012-07-20T06:10:50.787 に答える