公司要求ftp接口不能以明文方式传输,所以adc系统将增加ftps方式 但是在网找了很多方式都无法实现
用了
方法一

FtpWebRequest request = (FtpWebRequest)WebRequest.Create(FileUploadPath);
  request.Method = WebRequestMethods.Ftp.ListDirectory;
  request.Credentials = new NetworkCredential(UpLoadUser,UpLoadPWD);

request.EnableSsl = true;
  request.UsePassive = true;
  ServicePointManager.ServerCertificateValidationCallback = delegate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)  
  { return true; };

FtpWebResponse response = (FtpWebResponse)request.GetResponse();
  Stream responseStream = null;
  StreamReader readStream = null;
  try
  {
  responseStream = response.GetResponseStream();
  readStream = new StreamReader(responseStream, System.Text.Encoding.UTF8);
  if (readStream != null)
  Console.WriteLine(readStream.ReadToEnd());
  }
  finally
  {
  if (readStream != null)
  readStream.Close();
  if (response != null)
  response.Close();
  }

方法二
  public void Upload(string filename)
  {
    
  FileInfo fileInf = new FileInfo(filename);
  string uri = "ftp://" + ftpServerIP + "/" + fileInf.Name;
  FtpWebRequest reqFTP;

// 根据uri创建FtpWebRequest对象  
  reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + ftpServerIP + "/" + fileInf.Name));

// ftp用户名和密码  
  reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword);
  //SSL
  reqFTP.EnableSsl = true;
  // 默认为true,连接不会被关闭  
  // 在一个命令之后被执行  
  reqFTP.KeepAlive = false;
    
  // 指定执行什么命令  
  reqFTP.Method = WebRequestMethods.Ftp.UploadFile;

// 指定数据传输类型  
  reqFTP.UseBinary = true;
  //指定传输模式
  reqFTP.UsePassive =false;

// 上传文件时通知服务器文件的大小  
  reqFTP.ContentLength = fileInf.Length;

// 缓冲大小设置为2kb  
  int buffLength = 2048;

byte[] buff = new byte[buffLength];
  int contentLen;

// 打开一个文件流 (System.IO.FileStream) 去读上传的文件  
  FileStream fs = fileInf.OpenRead();
  try
  {
  // 把上传的文件写入流  
  Stream strm = reqFTP.GetRequestStream();

// 每次读文件流的2kb  
  contentLen = fs.Read(buff, 0, buffLength);

// 流内容没有结束  
  while (contentLen != 0)
  {
  // 把内容从file stream 写入 upload stream  
  strm.Write(buff, 0, contentLen);

contentLen = fs.Read(buff, 0, buffLength);
  }

// 关闭两个流  
  strm.Close();
  fs.Close();
  }
  catch (Exception ex)
  {
  // MessageBox.Show(ex.Message, "Upload Error");
  }
  }

都是报远程链接失败 另外提一下 我们的服务器是不需要校验证书的 端口号是990 一定要是被动模式才能登录
麻烦各位大虾 帮忙看看有什么改进的办法 或者有直接的案例 提供一下

FTPS加密上传的更多相关文章

  1. xml文件加密上传和sftp下载解密基本思路

    AES对称加密效率高,对大文件加密适合.RSA非对称加密效率低,更安全,对小文件加密适合. 整理 11:12 2016/8/4 加密:1.xml xml.md5摘要 2.(xml)aes加密 (xml ...

  2. 初试“七牛云”--零基础运用七牛云配合UEditor实现图片的上传和浏览(.NET篇)

    (注册和建立存储空间就不介绍了,网上一把一把的资料,自己试着点点也能明白) 作为一个成熟的菜鸟,如果遇到一个新问题,第一步当然是先百度一下... 看了N个关于七牛云的使用的帖子,表示还是蒙圈的,看懂了 ...

  3. iUploader 2.0 七牛云上传工具

    iUploader 软件介绍: iUploader主要功能将文件上传至七牛云,返回 Markdown 格式的链接到剪贴板 功能介绍: 图片本地压缩 图片右键上传 图片截取上传 图片复制上传 图片拖拽上 ...

  4. 一键自动发布ipa(更新svn,拷贝资源,压缩资源,加密图片资源,加密数据文件,加密lua脚本,编译代码,ipa签名,上传ftp)

    一键自动发布ipa(更新svn,拷贝资源,压缩资源,加密图片资源,加密数据文件,加密lua脚本,编译代码,ipa签名,上传ftp) 程序员的生活要一切自动化,更要幸福^_^. 转载请注明出处http: ...

  5. JS分段上传文件(File)并使用MD5.js加密文件段用来后台校验

    HTML <form method="POST" name="form1" action="/mupload/upload/" enc ...

  6. 关于php加密库加密数据上传数据库或解密出错的问题

    php加密拓展库随着php版本的更新,函数的使用方法有所改变,所以加密模式推荐使用ecb,其中加密算法19种,加密模式8种,通过这种方式加密后的数据上传数据库后提取出来进行解密会发现结果是乱码,我认为 ...

  7. Android获取通讯录并上传(包含通讯录加密)

    好久没更新文章了,近期在做通讯录上传,把它分享出来,送给需要的朋友. 写了一个通讯录工具类,直接放代码吧,关键位置通过注释来解释. 这个工具类包含通讯录获取,加密,然后上传操作.看不懂的可以留言 im ...

  8. 你真的了解字典(Dictionary)吗? C# Memory Cache 踩坑记录 .net 泛型 结构化CSS设计思维 WinForm POST上传与后台接收 高效实用的.NET开源项目 .net 笔试面试总结(3) .net 笔试面试总结(2) 依赖注入 C# RSA 加密 C#与Java AES 加密解密

    你真的了解字典(Dictionary)吗?   从一道亲身经历的面试题说起 半年前,我参加我现在所在公司的面试,面试官给了一道题,说有一个Y形的链表,知道起始节点,找出交叉节点.为了便于描述,我把上面 ...

  9. C&C控制服务的设计和侦测方法综述——DDoS攻击,上传从宿主机偷窃的到的信息,定时给感染机文件加密勒索等。

    这篇文章总结了一些我在安全工作里见到过的千奇百怪的C&C控制服务器的设计方法以及对应的侦测方法,在每个C&C控制服务先介绍黑帽部分即针对不同目的的C&C服务器设计方法,再介绍白 ...

随机推荐

  1. android JSONArray JSONObject 字符串转json数组 遍历json对象

    String json = "{''data'':[{''name'':''Wallace''},{''name'':''Grommit''}]}"; StringBuffer m ...

  2. OPENSSL 学习整理-介绍

    Openssl目录名以及功能描述 目录名 功能描述 Crypto 存放OpenSSL 所有加密算法源码文件和相关标注如X.509 源码文件,是OpenSSL中最重要的目录,包含了OpenSSL 密码算 ...

  3. WPF 程序检测 windows 关机

    1.使用SessionEnding事件 参考MSDN. 2.在需要处理 关机事件中可以注册SessionEnding事件 App.Current.SessionEnding += Current_Se ...

  4. 教你安装CentOS 6.5如何选择安装包

    近来发现越来越多的运维小伙伴们都有最小化安装CentOS 6.5系统的洁癖,因此,找老男孩来咨询,这个“洁癖”好习惯啊,必须支持,,因此发布本文和大家分享下. (1)系统安装类型选择及自定义额外包组 ...

  5. iOS 快递查询

    #import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicationDelegate> @pr ...

  6. Ajax.ActionLink()方法的使用

    第一句话都会这么去写:程序猿就是苦逼,除了开发还要会写博文!哎,今天就和大家一起讨论下Ajax的辅助方法ActionLink的使用,如果有讲的不好的地方或错的地方,请大家务必扔板砖,要投准哦,砸死我算 ...

  7. SqlServer:传递超长字符串参数时,参数被自动换行。

    declare @ids nvarchar(max); set @ids=N'5936593066,5936556893,59366 00375,5936594808,59 36624757,5936 ...

  8. window.cookie

    本地测试cookie用火狐来测试 首先cookie是document上的一个属性. 先弹出一个cookie alert(document.cookie); //弹出是空的 设置cookie,格式是有一 ...

  9. Android Support Font 安卓系统支持字体(配图)

    测试了一台安卓机器,发现所有字体显示都一样.

  10. Subversion under Linux [Reprint]

    一.安装 yum install subversion 二.配置 本系统采用为每个项目单独建一版本库的策略.配置文件,密码文件,访问控制文件等都放在版本库的conf目录下. 所以每次开始一个新项目都必 ...