C#从基于FTPS的FTP server下载数据 (FtpWebRequest 的使用)SSL 加密
using System;
using System.Net;
using System.IO;
using System.Net.Security;
using System.Security.Cryptography.X509Certificates; namespace FtpWebrequestBlogCase
{
class Program
{
static void Main(string[] args)
{
DownLoadFile("ftp://xxx/xxx.zip");
Console.ReadKey();
} public static void DownLoadFile(string addr)
{
var req = (FtpWebRequest)WebRequest.Create(addr);
req.Method = WebRequestMethods.Ftp.DownloadFile;
req.UseBinary = true;
req.UsePassive = true;
const string userName = "xxxx";
const string password = "xxxx";
req.Credentials = new NetworkCredential(userName, password); //如果要连接的 FTP 服务器要求凭据并支持安全套接字层 (SSL),则应将 EnableSsl 设置为 true。
//如果不写会报出421错误(服务不可用)
req.EnableSsl = true; // 首次连接FTP server时,会有一个证书分配过程。
//如果没有下面的代码会报异常:
//System.Security.Authentication.AuthenticationException: 根据验证过程,远程证书无效。
ServicePointManager.ServerCertificateValidationCallback =
new RemoteCertificateValidationCallback(ValidateServerCertificate);
try
{
using (var res = (FtpWebResponse)req.GetResponse())
{
const string localfile = "test.zip";
var fs = new FileStream(localfile, FileMode.Create, FileAccess.Write);
const int buffer = *;
var b = new byte[buffer];
var i = ;
var stream = res.GetResponseStream();
while (stream != null && (i = stream.Read(b, , buffer)) > )
{
fs.Write(b, , i);
fs.Flush();
}
}
Console.WriteLine("done!"); }
catch (Exception ex)
{
var message = ex.ToString();
Console.WriteLine(message);
}
finally
{ }
} public static bool ValidateServerCertificate
(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
{
return true;
}
}
}
{
return true;
}
C#从基于FTPS的FTP server下载数据 (FtpWebRequest 的使用)SSL 加密的更多相关文章
- FTP批量下载数据文件
包含ftp的命令脚本,建立临时文件. ::服务器连接信息 set username=root set password=root set ip=xxx.xxx.xxx.xxx set RemoteDi ...
- Python 基于Python实现Ftp文件上传,下载
基于Python实现Ftp文件上传,下载 by:授客 QQ:1033553122 测试环境: Ftp客户端:Windows平台 Ftp服务器:Linux平台 Python版本:Python 2.7 ...
- 通过JMeter来测试Quick Easy FTP Server的上传与下载性能
FTP性能测试 1.1背景说明 本测试选用的是一个小型的FTP服务器软件:Quick Easy FTP Server.Quick Easy FTP Server是一个全中文的FTP服务器软件,反应迅速 ...
- 基于JMeter的Quick Easy FTP Server性能测试
FTP性能测试 1.引言 1.1背景说明 本测试选用的是一个小型的FTP服务器软件:Quick Easy FTP Server.Quick Easy FTP Server是一个全中文的FTP服务器软件 ...
- How to set up an FTP server on Ubuntu 14.04
How to set up an FTP server on Ubuntu 14.04 Setting up a fully-functional and highly secure FTP serv ...
- windows bat脚本实现ftp自动下载 删除
现在有一个需求就是把远程某个文件下面的图片,下载到本地,并且删除下载成功的的文件,而且远程目录下的那个图片会随时增加.假设一下如果所有的脚本都写好了,那么就需要调用windows上的计划任务定时执行脚 ...
- 怎样基于谷歌地图的Server缓存公布Image Service服务
怎样基于谷歌地图的Server缓存公布Image Service服务 第一步:下载地图数据 下载安装水经注万能地图下载器,启动时仅仅选择电子.谷歌(这里能够依据自己的须要选择).例如以下图所看到的. ...
- Python之FTP多线程下载文件之多线程分块下载文件
Python之FTP多线程下载文件之多线程分块下载文件 Python中的ftplib模块用于对FTP的相关操作,常见的如下载,上传等.使用python从FTP下载较大的文件时,往往比较耗时,如何提高从 ...
- centos 安装FTP server详情(转)
centos 安装FTP server详情 分类: linux 2013-12-27 16:45 227人阅读 评论(0) 收藏 举报 我们这里以安装vsftpd 服务器端为例子: 1.进入到cent ...
随机推荐
- 学习java分为几个阶段,分别是什么?
多年前我自学的时候是很茫然,上网问问题,总是一堆外行的人说很难啊,你需要这样需要那样,不然就是,一堆人说一些空话,多看多写,买好书,我很无语,除了这些就没有自己的一些想法吗? 首先很多人认为学JAVA ...
- 跨语言时区处理与Epoch
国际化通用程序或标准协议通常都涉及到时区问题,比如最近项目用到的OIDC(OpenID Connect). OIDC基于OAuth2协议,其id_token中包含了exp来表达该Token的过期时间, ...
- python自动化测试应用-番外篇--接口测试2
篇2 book-python-auto-test-番外篇--接口测试2 --lamecho辣么丑 大家好! 我是lamecho(辣么丑),今天将继续上一篇python接 ...
- Cygwin在线安装指南
详细说明请看文章http://www.crifan.com/files/doc/docbook/cygwin_intro/release/htmls/install_cygwin_setup_exe. ...
- FrameBuffer系列 之 简单编程
一.Linux的帧缓冲设备 帧缓冲(framebuffer)是 Linux为显示设备提供的一个接口,把显存抽象后的一种设备,他允许上层应用程序在图形模式下直接对显示缓冲区进行读写操作.这种操作是抽象的 ...
- 蓝桥杯-搭积木-java
/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: ...
- unity collider 和 trigger 触发条件
物体A,物体B(都含有collider组件) collider触发条件:A和B至少一方是 未勾选is Kinematic的rigidbody,且都未勾选 is trigger.当只有一方是rigid ...
- 关于“foreach循环”中遇到的几个问题总结
1.列表页面用"foreach循环"的时候数据没有显示,此时需要检查你对象模型中属性的首字母是否大写,切记不能大写(本人在做一个项目的时候,对象模型是别人建立的,属性首字母大写了, ...
- Android打开其它应用程序
PackageManager pm = getPackageManager(); Intent i = pm.getLaunchIntentForPackage(packageName); start ...
- Linux 安装 apache2.4.23
Apache安装要求 必须安装APR.APR-Util.PCRE,gcc-c++等包 Apache httpd: http://mirrors.cnnic.cn/apache//httpd/httpd ...