使用SSH.NET连接到SFTP服务器时出现“ SocketException:无法解析主机”

时间:2019-01-09 01:32:28

标签: c# .net xamarin.android sftp ssh.net

尝试将文件上传到本地的SFTP服务器。连接SFTP时发生错误。

  

System.Net.Sockets.SocketException:无法解析主机“ sftp:// localhost”

我尝试使用命令行和FileZilla进行连接。它可以连接。

string host = "sftp://localhost";
int port = 22;
string username = "gth";
string password = "1234";
using (SftpClient client = new SftpClient(host, port, username, password))
{
    client.Connect();
}

它向我显示以下错误:

Loaded assembly: System.Threading.Tasks.dll [External] 
Thread started: <Thread Pool> #4
Thread started: <Thread Pool> #5
Thread started: <Thread Pool> #6
Thread started: <Thread Pool> #7
Unhandled Exception:
01-09 11:47:25.081 E/mono    (12159): 
01-09 11:47:25.081 E/mono    (12159): Unhandled Exception:
01-09 11:47:25.081 E/mono    (12159): System.Net.Sockets.SocketException (0x80004005): Connection refused
01-09 11:47:25.081 E/mono    (12159):   at (wrapper dynamic-method) System.Object.5(intptr,intptr,intptr)
01-09 11:47:25.081 E/mono-rt (12159): [ERROR] FATAL UNHANDLED EXCEPTION: System.Net.Sockets.SocketException (0x80004005): Connection refused
01-09 11:47:25.081 E/mono-rt (12159):   at (wrapper dynamic-method) System.Object.5(intptr,intptr,intptr)
01-09 11:47:25.099 E/CameraBase(12159): SCANNING dlclose for instance 0x437bbb5ee79d6b9f
01-09 11:47:25.100 E/CameraBase(12159): SCANNING AFTER DLCLOSE

2 个答案:

答案 0 :(得分:0)

SftpClient constructorhost参数使用主机名称,而不是URL。

因此只需放下sftp://

host = "localhost";

答案 1 :(得分:0)

或使用127.0.0.1代替本地主机