GVKun编程网logo

C#类来解析WebRequestMethods.Ftp.ListDirectoryDetails FTP响应(c#访问ftp)

16

本篇文章给大家谈谈C#类来解析WebRequestMethods.Ftp.ListDirectoryDetailsFTP响应,以及c#访问ftp的知识点,同时本文还将给你拓展.NETFtpWebReq

本篇文章给大家谈谈C#类来解析WebRequestMethods.Ftp.ListDirectoryDetails FTP响应,以及c#访问ftp的知识点,同时本文还将给你拓展.NET FtpWebRequest是否支持隐式(FTPS)和显式(FTPES)?、@RequestMapping(value={"/liu1","/liu2"},method = RequestMethod.GET)可以改为、asp.net – HttpMethod和HttpRequest的RequestType有什么区别?、asp.net – HttpRequest,HttpWebRequest和WebRequest之间的区别等相关知识,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

C#类来解析WebRequestMethods.Ftp.ListDirectoryDetails FTP响应(c#访问ftp)

C#类来解析WebRequestMethods.Ftp.ListDirectoryDetails FTP响应(c#访问ftp)

我正在创建一个服务来监视FTP位置的新更新,并要求能够使用 WebRequestMethods.Ftp.ListDirectoryDe​​tails
方法解析从 FtpWebRequest 响应返回的响应。如果所有响应都遵循相同的格式,则很容易,但是不同的FTP服务器软件提供不同的响应格式。


例如,一个可能返回:

08-10-11  12:02PM       <DIR>          Version206-25-09  02:41PM            144700153 image34.gif06-25-09  02:51PM            144700153 updates.txt11-04-10  02:45PM            144700214 digger.tif

并且另一台服务器可能会返回:

d--x--x--x    2 ftp      ftp          4096 Mar 07  2002 bin-rw-r--r--    1 ftp      ftp        659450 Jun 15 05:07 TEST.TXT-rw-r--r--    1 ftp      ftp      101786380 Sep 08  2008 TEST03-05.TXTdrwxrwxr-x    2 ftp      ftp          4096 May 06 12:24 dropoff

而且还观察到其他差异,因此可能存在许多我尚未遇到的细微差异。

是否有人知道可以无缝处理这些情况的完全托管(不需要在Windows上访问外部dll)的C#类?

我只需要列出具有以下详细信息的目录内容:文件/目录名称,最近更新或创建的时间戳,文件/目录名称。

预先感谢您的任何建议,加文

答案1

小编典典

我遇到的一种解决方案是EdtFTPnet

EdtFTPnet似乎是一个功能强大的解决方案,可以处理许多不同的FTP选项,因此非常理想。

这是我在http://www.ftp2rss.com上使用的免费开源解决方案(我需要自己使用的一个小工具,但认为对其他人也可能有用)。

.NET FtpWebRequest是否支持隐式(FTPS)和显式(FTPES)?

.NET FtpWebRequest是否支持隐式(FTPS)和显式(FTPES)?

如何解决.NET FtpWebRequest是否支持隐式(FTPS)和显式(FTPES)??

据我所知,当前(.NET 2.0和3.5)的FtpWebRequest版本仅支持显式SSL。

实际上,.NET 2.0当前不支持隐式SSL,仅支持显式。我们将考虑在以后的版本中添加它。

JonCole- MSDN论坛上的 MSFTModerator

如果需要同时使用隐式和显式TLS / SSL,则必须尝试使用​​第三方FTP / SSL组件之一。以下代码使用了我们的Rebex FTP / SSL,摘自教程页。

客户端以通常的非保护方式连接到FTP服务器,通常将端口21分配给FTP协议。当需要使用SSL保护连接时,将初始化SSL协商,确保控制连接的安全,并保护所有后续通信。

// Create an instance of the Ftp class. 
Ftp ftp = new Ftp();

// Connect securely using explicit SSL. 
// Use the third argument to specify additional SSL parameters. 
ftp.Connect(hostname, 21, null, FtpSecurity.Explicit);

// Connection is protected Now, we can log in safely. 
ftp.Login(username, password);

显式保护意味着可以随时保护连接。如果您不知道在连接时是否不需要保护,则可能要使用普通的未加密FTP协议进行连接,然后再保护连接。

Ftp ftp = new Ftp();

// Connect to the server with no protection. 
ftp.Connect(hostname, 21);

// Upgrade connection to SSL. 
// This method also accepts an argument to specify SSL parameters. 
ftp.Secure();

// Connection is protected Now, we can log in safely. 
ftp.Login(username, password);

FTPS协议最初是由IANA分配的。连接到该端口后,将立即开始SSL协商,并确保控制连接的安全。所有数据连接也以相同的方式隐式地得到保护。这类似于HTTPS使用的方法。

IETF不赞成使用此方法,不建议使用。Rebex FTP / SSL支持与旧服务器进行互操作,但是强烈建议尽可能使用显式保护。

Ftp ftp = new Ftp();

// Connect securely using implicit SSL. 
// Use the third argument to specify additional SSL parameters. 
ftp.Connect(hostname, 990, null, FtpSecurity.Implicit);

// Connection is protected Now, we can log in safely. 
ftp.Login(username, password);

您可以从rebex.net/ftp-ssl.net/下载该组件。

解决方法

我被要求支持隐式和显式FTPS(也称为FTPES)。我们目前正在使用.NET
FtpWebRequest。是否FtpWebRequest支持两种类型的FTPES,有什么区别?

谢谢

@RequestMapping(value={

@RequestMapping(value={"/liu1","/liu2"},method = RequestMethod.GET)可以改为

 太长了

@RequestMapping(value={"/liu1","/liu2"},method = RequestMethod.GET)

可以改为

@GetMapping("/liu1")

 

asp.net – HttpMethod和HttpRequest的RequestType有什么区别?

asp.net – HttpMethod和HttpRequest的RequestType有什么区别?

HttpRequest类定义了两个属性:

HttpMethod:

Gets the HTTP data transfer method (such as GET,POST,or HEAD) used by the client.

06000

The HTTP data transfer method used by the client.

和RequestType:

Gets or sets the HTTP data transfer method (GET or POST) used by the client.

06001

A string representing the HTTP invocation type sent by the client.

这两个属性有什么区别?我什么时候想要使用一个在另一个?检查哪个是客户端使用什么数据传输方法?

该文档指示HttpMethod将返回任何使用的动词:

such as GET,or HEAD

而RequestType上的文档似乎只表示两个可能的值之一:

GET or POST

我用随机抽样的动词进行测试,这两个属性似乎都支持所有动词,并且都返回相同的值:

测试:

Client Used    HttpMethod    RequestType
GET            GET           GET
POST           POST          POST
HEAD           HEAD          HEAD
CONNECT        CONNECT       CONNECT
MKCOL          MKCOL         MKCOL
PUT            PUT           PUT
FOOTEST        FOOTEST       FOOTEST

有什么区别:

> HttpRequest.HttpMethod
> HttpRequest.RequestType

什么时候应该使用一个?

解决方法

Reflector显示RequestType在内部调用HttpMethod。所以你比HttpMethod调用更好一点。其实我觉得RequestType存在的真正原因是为了向后兼容经典的ASP。

asp.net – HttpRequest,HttpWebRequest和WebRequest之间的区别

asp.net – HttpRequest,HttpWebRequest和WebRequest之间的区别

我想知道有没有人解释上市的差异

解决方法

他们做不同的事情

WebRequest是HttpWebRequest的抽象基类 – 您不能直接使用它。它是其他*请求类的基类(用于FTP,文件和其他类型的Web请求)。这些类都用于从Web获取资源(文件)。

还有一个WebClient类 – 可能是使用所有用于从Internet检索资源的BCL类最简单的类。

另一方面,HttpRequest表示ASP.NET应用程序中资源的请求 – 这是请求的服务器端。

主要的区别是HttpWebRequest是HTTP客户端,HttpRequest是在ASP.NET Web应用程序中使用的服务器端。

关于C#类来解析WebRequestMethods.Ftp.ListDirectoryDetails FTP响应c#访问ftp的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于.NET FtpWebRequest是否支持隐式(FTPS)和显式(FTPES)?、@RequestMapping(value={"/liu1","/liu2"},method = RequestMethod.GET)可以改为、asp.net – HttpMethod和HttpRequest的RequestType有什么区别?、asp.net – HttpRequest,HttpWebRequest和WebRequest之间的区别的相关知识,请在本站寻找。

本文标签: