砂拉豆 发表于 2015-5-29 11:09:25

FTPS(FTP+SSL) 资料上传

  最近因客户FTP 升级,将之前的FTP 升级为FTPS,就是ftp连接加密,加密方法是用SSL 加密。
  方案一 使用第三方工具
  是用Flashxp 工具自定义Schedure, 实现自动上传功能。缺点:1.目标文件需另外生成,有时间间隔,无法达到及时上传。2.对于上传失败无法做出处理,虽然有log但仍旧有文件丢失。
  方案二 使用DLL
  引用AlexPilotti.FTPS.Client 到目标程序中,使用以下方法上传:
  




               using (FTPSClient client = new FTPSClient())
{
NetworkCredential netCredential = new NetworkCredential(this._UserName, this._PassWord);
client.Connect(
this._strHostName,
21,
netCredential,
ESSLSupportMode.All,
new System.Net.Security.RemoteCertificateValidationCallback(delegate
{
return true;
}), null, 0, 0, 0, null);
Console.WriteLine(client.WelcomeMessage);
string remoteCurrentPath = client.GetCurrentDirectory();
IList list = client.GetDirectoryList(remoteCurrentPath);
flag = client.PutFile(Path.Combine(_strSourthDir, fileName), _strDir + Path.GetFileName(fileName));
Log.Write(string.Format("upload {0} to {1} success!,Transferred bytes count:{2} bytes", fileName, _strDir + Path.GetFileName(fileName),flag.ToString()));
file.Move(fileName, _strSourthDir, _strBackDir);
Thread.Sleep(1);
  
页: [1]
查看完整版本: FTPS(FTP+SSL) 资料上传