ftp协议的简单介绍以及相关操作
2014-04-12 15:53
330 查看
ftp协议专门用于文件的上传、下载,效率更高。而它的端口号一般为21,http也是一种协议,而它的端口号为80。sql server:133 oracle:1521
登录FTP一般需要用户名、密码,根据用户名的不同有不同的权限(文件:上传、下载、删除、附加;目录:创建、删除),不同的用户可以看不同的目录;如果不输入用户名则认为是匿名用户,其实就是用户名为Anonymous的用户,匿名用户一般只给下载权限。
如何运用程序对ftp进行操作呢?
1、Net中内置的操作FTP的类有:WebClient、FtpWebRequest。WebClient用起来简单,但是只能上传、下载。 FtpWebRequest 比较强大,WebClient内部就是调用FtpWebRequest实现的,如果要实现遍历ftp文件、创建ftp文件夹等就要用FtpWebRequest 。或者是FtpClient类
WebClient也可以下载Http网页、上传Http文件,后面站内搜索、采集器项目中还将会用到。在讲正则表达式的应用,抓取数据的时候应用到此类。在正则中应用到的类还有Regex这个类,运用此类的方法可以判断一个字符串是否匹配一个正则表达式等。
代码:
#region WebClient下载
//WebClient client = new WebClient();
////创建连接到ftp服务器的网络凭证
//client.Credentials = new NetworkCredential("lyc", "lyc");
////连接到ftp服务器,并下载所需资源
//client.DownloadFile("ftp://172.22.**.**/Word List 1/Word list 1.MP3", @"E:\Word list 1.MP3");
//Console.WriteLine("下载成功");
#endregion
#region WebClient上传
//WebClient client = new WebClient();
//client.Credentials = new NetworkCredential("lyc", "lyc");
////第一个参数表示要上传到的服务器的地址,注意需要自己定义上传之后的文件名称,第二参数表示姚上传的本地文件路径
//client.UploadFile("ftp://172.22.**.**/Word List 1/qie.jpg", @"C:\Users\Public\Pictures\Sample Pictures\Penguins.jpg");
//Console.WriteLine("上传成功");
#endregion
webclient只能进行简单的下载,上传工作,所以我们可以用FtpClient进行操作。FtpClient类是手写,开源的。类中有很多方法可以进行很多操作。
写的用户必须要有下载、上传等访问权限。
实例代码:
#region FtpClient下载
//FtpClient client = new FtpClient("172.22.**.**", "lyc", "lyc");
////bool result= client.Download("qie.jpg", @"E:\ftpfiles\企鹅.jpg");
//bool result = client.Download("Word List 10/Word List 10.MP3", @"E:\ftpfiles\Word List 10.MP3");
//if (result)
//{
// Console.WriteLine("下载成功");
//}
//else
//{
// Console.WriteLine("下载失败");
//}
#endregion
#region FtpClient上传
FtpClient client = new FtpClient("172.22.**.**", "lyc", "lyc");
//在服务器上创建目录newfile,如果创建成功,则将文件上传到新创建的文件夹下面
if (client.MakeDirectory("newfile"))
{
FileInfo file = new FileInfo(@"F:\soft\ASCII码表完整版.doc");
//第一个参数是fileInfo类型,第二个参数是要保存到的服务器上目录以及文件名称
bool result = client.Upload(file, "newfile/ASCII码表完整版.doc");
if (result)
{
Console.WriteLine("上传成功");
}
else
{
Console.WriteLine("上传失败");
}
}
else
{
Console.WriteLine("目录创建失败");
}
#endregion
Console.ReadKey();
}
}
}
ftp协议专门用于文件的上传、下载,效率更高。而它的端口号一般为21,http也是一种协议,而它的端口号为80。sql server:133 oracle:1521
登录FTP一般需要用户名、密码,根据用户名的不同有不同的权限(文件:上传、下载、删除、附加;目录:创建、删除),不同的用户可以看不同的目录;如果不输入用户名则认为是匿名用户,其实就是用户名为Anonymous的用户,匿名用户一般只给下载权限。
如何运用程序对ftp进行操作呢?
1、Net中内置的操作FTP的类有:WebClient、FtpWebRequest。WebClient用起来简单,但是只能上传、下载。 FtpWebRequest 比较强大,WebClient内部就是调用FtpWebRequest实现的,如果要实现遍历ftp文件、创建ftp文件夹等就要用FtpWebRequest 。或者是FtpClient类
WebClient也可以下载Http网页、上传Http文件,后面站内搜索、采集器项目中还将会用到。在讲正则表达式的应用,抓取数据的时候应用到此类。在正则中应用到的类还有Regex这个类,运用此类的方法可以判断一个字符串是否匹配一个正则表达式等。
代码:
#region WebClient下载
//WebClient client = new WebClient();
////创建连接到ftp服务器的网络凭证
//client.Credentials = new NetworkCredential("lyc", "lyc");
////连接到ftp服务器,并下载所需资源
//client.DownloadFile("ftp://172.22.**.**/Word List 1/Word list 1.MP3", @"E:\Word list 1.MP3");
//Console.WriteLine("下载成功");
#endregion
#region WebClient上传
//WebClient client = new WebClient();
//client.Credentials = new NetworkCredential("lyc", "lyc");
////第一个参数表示要上传到的服务器的地址,注意需要自己定义上传之后的文件名称,第二参数表示姚上传的本地文件路径
//client.UploadFile("ftp://172.22.**.**/Word List 1/qie.jpg", @"C:\Users\Public\Pictures\Sample Pictures\Penguins.jpg");
//Console.WriteLine("上传成功");
#endregion
webclient只能进行简单的下载,上传工作,所以我们可以用FtpClient进行操作。FtpClient类是手写,开源的。类中有很多方法可以进行很多操作。
写的用户必须要有下载、上传等访问权限。
实例代码:
#region FtpClient下载
//FtpClient client = new FtpClient("172.22.**.**", "lyc", "lyc");
////bool result= client.Download("qie.jpg", @"E:\ftpfiles\企鹅.jpg");
//bool result = client.Download("Word List 10/Word List 10.MP3", @"E:\ftpfiles\Word List 10.MP3");
//if (result)
//{
// Console.WriteLine("下载成功");
//}
//else
//{
// Console.WriteLine("下载失败");
//}
#endregion
#region FtpClient上传
FtpClient client = new FtpClient("172.22.**.**", "lyc", "lyc");
//在服务器上创建目录newfile,如果创建成功,则将文件上传到新创建的文件夹下面
if (client.MakeDirectory("newfile"))
{
FileInfo file = new FileInfo(@"F:\soft\ASCII码表完整版.doc");
//第一个参数是fileInfo类型,第二个参数是要保存到的服务器上目录以及文件名称
bool result = client.Upload(file, "newfile/ASCII码表完整版.doc");
if (result)
{
Console.WriteLine("上传成功");
}
else
{
Console.WriteLine("上传失败");
}
}
else
{
Console.WriteLine("目录创建失败");
}
#endregion
Console.ReadKey();
}
}
}
相关文章推荐
- IOS下的屏幕相关和AppIcon尺寸以及LaunchImage 简单介绍
- mysql数据库相关介绍以及一些基本操作
- iPhone沙盒以及文件操作的一些简单介绍
- 第一部分:介绍linux系统以及相关操作
- 用vc6操作xml以及xmldom的简单介绍
- IOS下的屏幕相关和AppIcon尺寸以及LaunchImage 简单介绍
- 对opencl简单理解和缓冲区以及相关操作的简单理解(完结)
- java对cookie的操作比较简单,主要介绍下建立cookie和读取cookie,以及如何设定cookie的生命周期和cookie的路径问题。
- FTP介绍,安装,以及匿名用户和本地用户的操作
- 百度笔试题2005题目大致是这样的: 第一部分选择题: 有几道网络相关的题目,巨简单,比如第一题是TCP、RIP、IP、FTP中哪个协议是传输层的......。有一道linux的 chown使用题目。其他的全是数据结构的题目!什么链,表
- 简单介绍一下linux下的ftp服务及相关配置
- wbs简单介绍以及相关模板截图
- iptables相关操作以及简单理解端口和服务之间关系
- 用vc6操作xml以及xmldom的简单介绍
- Spark SQL原理与DataFrame、DataSet相关API操作以及代码介绍
- ubuntu mysql install 安装以及相关简单操作
- salesforce 零基础开发入门学习(三)sObject简单介绍以及简单DML操作(SOQL)
- CCNA网络工程师学习进程(6)vlan相关协议的配置与路由器简单配置介绍
- 计算机网络自顶向下 :应用层(简单概念和http协议相关简单介绍)
- 【Cuda并行编程之一】二分查找的探究以及Cuda的简单实现&&相关面试题介绍