WinSCP赋予.NET程序集:凡定义代理?(WinSCP .NET assembly: Where

2019-07-03 20:08发布

我能够通过使用GUI的WinSCP定义代理服务器。 如果我这样做,我能够连接到远程主机。 但是,在代码中,我没有找到一个方法来申报的WinSCP代理服务器。

在这种情况下,我收到

远程服务器返回所需的错误(407)代理身份验证。

我的代码:

SessionOptions sessionOptions = new SessionOptions
   {
       Protocol = protocol,
       HostName = hostname,
       UserName = user,
       Password = pass,
       PortNumber = portnumber
   };

using (Session session = new Session())
{
    session.ExecutablePath = @"C:\Program Files (x86)\WinSCP\WinSCP.exe";
    session.Open(sessionOptions);

    TransferOptions options = new TransferOptions();
    options.FileMask = mask;


    SynchronizationResult synchronizationResult;
    synchronizationResult =
        session.SynchronizeDirectories(mode, local, path, deletefiles, options: options);

    synchronizationResult.Check();
}

Answer 1:

使用SessionOptions.AddRawSettings配置适合您的一种代理的原始会话设置。

例如:

sessionOptions.AddRawSettings("ProxyMethod", "3");
sessionOptions.AddRawSettings("ProxyHost", "proxy");

见的完整清单原始会话设置 。


虽然是比较容易的方式就是配置代理的图形用户界面的WinSCP,让它生成代码模板供你。



文章来源: WinSCP .NET assembly: Where to define proxy?