您的位置:首页 > 编程语言 > PHP开发

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();

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐