訓練
如何:以 FTP 列出目錄內容
這個範例示範如何列出 FTP 伺服器的目錄內容。
注意
本文專用於以 .NET Framework 為目標的專案。 針對以 .NET 6 和更新版本為目標的專案,不再支援 FTP。
using System;
using System.IO;
using System.Net;
namespace Examples.System.Net
{
public class WebRequestGetExample
{
public static void Main ()
{
// Get the object used to communicate with the server.
FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://www.contoso.com/");
request.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
// This example assumes the FTP site uses anonymous logon.
request.Credentials = new NetworkCredential ("anonymous","janeDoe@contoso.com");
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
Stream responseStream = response.GetResponseStream();
StreamReader reader = new StreamReader(responseStream);
Console.WriteLine(reader.ReadToEnd());
Console.WriteLine($"Directory List Complete, status {response.StatusDescription}");
reader.Close();
response.Close();
}
}
}
Imports System.IO
Imports System.Net
Namespace Examples.System.Net
Public Module WebRequestGetExample
Public Sub Main()
' Get the object used to communicate with the server.
Dim request As FtpWebRequest = CType(WebRequest.Create("ftp://www.contoso.com/"), FtpWebRequest)
request.Method = WebRequestMethods.Ftp.ListDirectoryDetails
' This example assumes the FTP site uses anonymous logon.
request.Credentials = New NetworkCredential("anonymous", "janeDoe@contoso.com")
Dim response As FtpWebResponse = CType(request.GetResponse(), FtpWebResponse)
Dim responseStream As Stream = response.GetResponseStream()
Dim reader As StreamReader = New StreamReader(responseStream)
Console.WriteLine(reader.ReadToEnd())
Console.WriteLine($"Directory List Complete, status {response.StatusDescription}")
reader.Close()
response.Close()
End Sub
End Module
End Namespace
如果您要列出特定的目錄,只需將目錄新增至您在 WebRequest.Create 方法中使用之 URI 的結尾:
FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://www.contoso.com/your_preferred_directory");
Dim request As FtpWebRequest = CType(WebRequest.Create("ftp://www.contoso.com/your_preferred_directory"), FtpWebRequest)