FtpWebRequest Sınıf
TOC
İçindekiler tablosunu daralt
İçindekiler tablosunu genişlet
Bu makale makine tarafından çevrilmiştir. Orijinal metni görmek için imlecinizi makaledeki cümlelerin üzerine getirin. Daha Fazla Bilgi.
Çeviri
Original

FtpWebRequest Sınıf

 

Dosya Aktarım Protokolü (FTP) istemci uygular.

Ad Alanı:   System.Net
Derleme:  System (System.dll içinde)


public sealed class FtpWebRequest : WebRequest

AdAçıklama
System_CAPS_pubpropertyAuthenticationLevel

Alır veya kimlik doğrulama ve bu istek için kullanılan kimliğe bürünme düzeyini gösteren bir değer ayarlar.(Devralındığı yer: WebRequest.)

System_CAPS_pubpropertyCachePolicy

Alır veya bu istek için önbellek ilkesini ayarlar.(Devralındığı yer: WebRequest.)

System_CAPS_pubpropertyClientCertificates

Alır veya ayarlar için FTP sunucusu şifreli bir bağlantı kurmak için kullanılan sertifikaları.

System_CAPS_pubpropertyConnectionGroupName

Alır veya ayarlar geçerli istek göndermek için kullanılan hizmet noktası içeren bağlantı grubu adı.(WebRequest.ConnectionGroupName öğesini geçersiz kılar.)

System_CAPS_pubpropertyContentLength

Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanılmak üzere tasarlanmamıştır. Tarafından göz ardı edilir bir değeri alır veya ayarlar FtpWebRequest sınıfı.(WebRequest.ContentLength öğesini geçersiz kılar.)

System_CAPS_pubpropertyContentOffset

Alır veya bu istek tarafından yüklenen dosya içine bayt uzaklığı ayarlar.

System_CAPS_pubpropertyContentType

Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanılmak üzere tasarlanmamıştır. Her zaman oluşturur bir NotSupportedException.(WebRequest.ContentType öğesini geçersiz kılar.)

System_CAPS_pubpropertyCreatorInstance

Eski.Alt öğeleri bir sınıfta geçersiz kılındığında, alır üretecini türetilen IWebRequestCreate oluşturmak için kullanılan sınıfı WebRequest belirtilen URI'ye isteği yapan örneği.(Devralındığı yer: WebRequest.)

System_CAPS_pubpropertyCredentials

Alır veya ayarlar FTP sunucusuyla iletişim kurmak için kullanılan kimlik bilgileri.(WebRequest.Credentials öğesini geçersiz kılar.)

System_CAPS_pubpropertySystem_CAPS_staticDefaultCachePolicy

Tüm FTP istekler için varsayılan önbellek ilkesini tanımlar.

System_CAPS_pubpropertyEnableSsl

Alır veya ayarlar bir Boolean belirleyen bir SSL bağlantısı kullanılmalıdır.

System_CAPS_pubpropertyHeaders

Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanılmak üzere tasarlanmamıştır. Boş bir alır WebHeaderCollection nesne.(WebRequest.Headers öğesini geçersiz kılar.)

System_CAPS_pubpropertyImpersonationLevel

Alır veya ayarlar geçerli istek için kimliğe bürünme düzeyi.(Devralındığı yer: WebRequest.)

System_CAPS_pubpropertyKeepAlive

Alır veya ayarlar bir Boolean istek tamamlandıktan sonra FTP sunucusu için denetim bağlantısı kapalı olup olmadığını belirten değer.

System_CAPS_pubpropertyMethod

Alır veya ayarlar FTP sunucusuna göndermek için komutu.(WebRequest.Method öğesini geçersiz kılar.)

System_CAPS_pubpropertyPreAuthenticate

Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanılmak üzere tasarlanmamıştır. Her zaman oluşturur bir NotSupportedException.(WebRequest.PreAuthenticate öğesini geçersiz kılar.)

System_CAPS_pubpropertyProxy

Proxy alır veya FTP sunucusu ile iletişim kurmak için kullanılan ayarlar.(WebRequest.Proxy öğesini geçersiz kılar.)

System_CAPS_pubpropertyReadWriteTimeout

Alır veya ayarlar okuma veya yazma bir akış için bir zaman aşımı.

System_CAPS_pubpropertyRenameTo

Alır veya yeni bir dosya adı değiştirilmekte adını ayarlar.

System_CAPS_pubpropertyRequestUri

Bu örnek tarafından istenen URI'yi alır.(WebRequest.RequestUri öğesini geçersiz kılar.)

System_CAPS_pubpropertyServicePoint

Alır ServicePoint FTP sunucusuna bağlanmak için kullanılan nesne.

System_CAPS_pubpropertyTimeout

Alır veya bir istek için beklenecek milisaniye sayısını ayarlar.(WebRequest.Timeout öğesini geçersiz kılar.)

System_CAPS_pubpropertyUseBinary

Alır veya ayarlar bir Boolean veri türü için dosya aktarımlarını belirten değer.

System_CAPS_pubpropertyUseDefaultCredentials

Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanılmak üzere tasarlanmamıştır. Her zaman oluşturur bir NotSupportedException.(WebRequest.UseDefaultCredentials öğesini geçersiz kılar.)

System_CAPS_pubpropertyUsePassive

Alır veya bir istemci uygulamanın veri aktarma işlemi davranışını ayarlar.

AdAçıklama
System_CAPS_pubmethodAbort()

FTP zaman uyumsuz işlemi sonlandırır.(WebRequest.Abort() öğesini geçersiz kılar.)

System_CAPS_pubmethodBeginGetRequestStream(AsyncCallback, Object)

Zaman uyumsuz olarak yazmak için bir isteğin içerik akışı açma başlar.(WebRequest.BeginGetRequestStream(AsyncCallback, Object) öğesini geçersiz kılar.)

System_CAPS_pubmethodBeginGetResponse(AsyncCallback, Object)

Başlayan bir istek gönderip yanıt bir FTP sunucusunu zaman uyumsuz olarak.(WebRequest.BeginGetResponse(AsyncCallback, Object) öğesini geçersiz kılar.)

System_CAPS_pubmethodCreateObjRef(Type)

Uzak bir nesne ile iletişim kurmak için kullanılan bir proxy oluşturmak için gerekli tüm bilgileri içeren bir nesne oluşturur.(Devralındığı yer: MarshalByRefObject.)

System_CAPS_pubmethodEndGetRequestStream(IAsyncResult)

Kullanmaya bekleyen bir zaman uyumsuz işlemi sonlandırır BeginGetRequestStream.(WebRequest.EndGetRequestStream(IAsyncResult) öğesini geçersiz kılar.)

System_CAPS_pubmethodEndGetResponse(IAsyncResult)

Kullanmaya bekleyen bir zaman uyumsuz işlemi sonlandırır BeginGetResponse.(WebRequest.EndGetResponse(IAsyncResult) öğesini geçersiz kılar.)

System_CAPS_pubmethodEquals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object.)

System_CAPS_pubmethodGetHashCode()

Varsayılan karma işlevi görev yapar. (Devralındığı yer: Object.)

System_CAPS_pubmethodGetLifetimeService()

Bu örneği için Yaşam ilke denetimlerini geçerli yaşam süresi hizmet nesnesi alır.(Devralındığı yer: MarshalByRefObject.)

System_CAPS_pubmethodGetRequestStream()

Verileri bir FTP sunucusuna yüklemek için kullanılan akış alır.(WebRequest.GetRequestStream() öğesini geçersiz kılar.)

System_CAPS_pubmethodGetRequestStreamAsync()

Alt öğeleri bir sınıfta geçersiz kılındığında, döndüren bir Stream zaman uyumsuz bir işlem olarak Internet kaynağıyla verileri yazmak için.(Devralındığı yer: WebRequest.)

System_CAPS_pubmethodGetResponse()

FTP sunucusu yanıtı döndürür.(WebRequest.GetResponse() öğesini geçersiz kılar.)

System_CAPS_pubmethodGetResponseAsync()

Alt öğeleri bir sınıfta geçersiz kılındığında, bir Internet isteğine yanıt olarak zaman uyumsuz bir işlem olarak döndürür.(Devralındığı yer: WebRequest.)

System_CAPS_pubmethodGetType()

Mevcut örnek için Type alır.(Devralındığı yer: Object.)

System_CAPS_pubmethodInitializeLifetimeService()

Bu örnek için Yaşam İlkesi denetlemek için bir yaşam süresi hizmet nesnesi alır.(Devralındığı yer: MarshalByRefObject.)

System_CAPS_pubmethodToString()

Geçerli nesneyi temsil eden bir dize döndürür.(Devralındığı yer: Object.)

AdAçıklama
System_CAPS_pubinterfaceSystem_CAPS_privmethodISerializable.GetObjectData(SerializationInfo, StreamingContext)

Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanılmak üzere tasarlanmamıştır. Alt öğeleri bir sınıfta geçersiz kılındığında, doldurur bir SerializationInfo serileştirmek için gereken verileri örnekle WebRequest.(Devralındığı yer: WebRequest.)

Bir örneği elde etmek üzere FtpWebRequest, kullanın Create yöntemi.Ayrıca WebClient karşıya yükleme ve bilgileri bir FTP sunucusunu yüklemek için sınıf.Bu yaklaşımlardan birini kullanarak, belirttiğinizde FTP şemasını kullanan bir ağ kaynağı (örneğin, "ftp://contoso.com") FtpWebRequest sınıf programlı olarak FTP sunucularla etkileşim olanağı sağlar.

Göreli veya mutlak URI olabilir.URI biçiminde ise "ftp://contoso.com/%2fpath" (% 2f olan bir Atlanan '/'), ardından URI'si mutlak ve geçerli dizin /path.Ancak, URI biçiminde olup olmadığını, "ftp://contoso.com/path", önce .NET Framework oturum FTP sunucusu (kullanıcı adı ve parola kullanarak ayarlamak Credentials özelliği), geçerli dizin kümesine sonra <UserLoginDirectory>/path.

Geçerli bir kullanıcı adı olmalıdır ve sunucu veya sunucu parolasını anonim oturum açma izin vermesi gerekir.Ayarlayarak sunucusuna bağlanmak için kullanılan kimlik bilgilerini belirtebilirsiniz Credentials özellik veya dahil edebilir bunları UserInfo URI bölümünü iletilen Create yöntemi.Eklerseniz UserInfo URI bilgileri Credentials özelliği belirtilen kullanıcı adı ve parola bilgilerini içeren yeni bir ağ kimlik bilgisi ayarlanır.

System_CAPS_cautionUyarı

Sürece EnableSsl özelliği true, tüm verileri ve kullanıcı adı ve parola bilgilerini de dahil olmak üzere komutları düz metin olarak sunucuya gönderilirler.Herkes ağ trafiğini izleme kimlik bilgilerinizi görüntüleyin ve bunları sunucuya bağlanmak için kullanın.Kimlik bilgilerini gerektirir ve Güvenli Yuva Katmanı (SSL) destekleyen bir FTP sunucusuna bağlanan, ayarlamalısınız EnableSsl için true.

Olması gerekir WebPermission FTP kaynağa; erişmek için Aksi takdirde bir SecurityException özel durum.

Ayarlayarak sunucusuna göndermek için FTP komutu belirtin Method özelliği tanımlı bir değere WebRequestMethods.Ftp yapısı.Metin veri iletmek için değiştirmek UseBinary özelliğin varsayılan değeri (true) için false.Ayrıntıları ve kısıtlamaları için bkz: Method.

Kullanılırken bir FtpWebRequest bir sunucuya bir dosya yüklemek için nesne çağırarak elde edilen istek akışa dosya içeriği yaz GetRequestStream yöntem veya kendi zaman uyumsuz karşılık gelen BeginGetRequestStream ve EndGetRequestStream yöntemleri.Akış yazma ve akış istek göndermeden önce kapatın gerekir.

İstekleri çağırarak sunucusuna gönderilir GetResponse yöntem veya kendi zaman uyumsuz karşılık gelen BeginGetResponse ve EndGetResponse yöntemleri.İstenen işlem tamamlandığında bir FtpWebResponse Nesne döndürülür. FtpWebResponse İşleminin durumunu ve sunucudan herhangi bir veri nesnesi sağlar.

Okuma veya sunucuya kullanarak yazma için bir zaman aşımı değeri ayarlayabilirsiniz ReadWriteTimeout özelliği.Zaman aşımı süresi aşılırsa arama yöntemi atar bir WebException birlikte WebExceptionStatus ayarlanan Timeout.

İstenen dosyanın içeriğini yanıt nesnenin akışında bir dosyayı bir FTP sunucusundan yüklerken komutu başarılı olursa kullanılabilir.Bu akış nolu telefonu arayarak erişebilirsiniz GetResponseStream yöntemi.Daha fazla bilgi için bkz. FtpWebResponse.

Varsa Proxy özelliği ayarlanmış ya da doğrudan veya bir yapılandırma dosyasında FTP sunucusu ile iletişim belirtilen proxy yapılır.Belirtilen proxy yalnızca bir HTTP proxy olup olmadığını DownloadFile, ListDirectory, ve ListDirectoryDetails komutları desteklenir.

İkili içeriği karşıdan yalnızca önbelleğe alınır; diğer bir deyişle, içerik kullanılarak alınan DownloadFile komutunu UseBinary özelliğini true.

Birden çok FtpWebRequests yeniden varolan bağlantılar, mümkünse.

RFC 959, "Dosya aktarım iletişim kuralı," adresinde FTP protokolünü hakkında daha fazla bilgi için bkz http://www.rfc-editor.org/.

Aşağıdaki kod örneğinde bir FTP sunucusunu bir dosya silmek gösterir.

public static bool DeleteFileOnServer(Uri serverUri)
{
    // The serverUri parameter should use the ftp:// scheme.
    // It contains the name of the server file that is to be deleted.
    // Example: ftp://contoso.com/someFile.txt.
    // 

    if (serverUri.Scheme != Uri.UriSchemeFtp)
    {
        return false;
    }
    // Get the object used to communicate with the server.
    FtpWebRequest request = (FtpWebRequest)WebRequest.Create(serverUri);
    request.Method = WebRequestMethods.Ftp.DeleteFile;

    FtpWebResponse response = (FtpWebResponse) request.GetResponse();
    Console.WriteLine("Delete status: {0}",response.StatusDescription);  
    response.Close();
    return true;
}

Aşağıdaki kod örneğinde kullanarak bir dosya bir FTP sunucusunu yüklenmesini gösterir WebClient sınıfı.

public static bool DisplayFileFromServer(Uri serverUri)
{
    // The serverUri parameter should start with the ftp:// scheme.
    if (serverUri.Scheme != Uri.UriSchemeFtp)
    {
        return false;
    }
    // Get the object used to communicate with the server.
    WebClient request = new WebClient();

    // This example assumes the FTP site uses anonymous logon.
    request.Credentials = new NetworkCredential ("anonymous","janeDoe@contoso.com");
    try 
    {
        byte [] newFileData = request.DownloadData (serverUri.ToString());
        string fileString = System.Text.Encoding.UTF8.GetString(newFileData);
        Console.WriteLine(fileString);
    }
    catch (WebException e)
    {
        Console.WriteLine(e.ToString());
    }
    return true;
}

Aşağıdaki kod örneğinde, FTP sunucusu için bir dosya yüklemek için zaman uyumsuz işlemlerin kullanarak gösterir.

using System;
using System.Net;
using System.Threading;

using System.IO;
namespace Examples.System.Net
{
    public class FtpState
    {
        private ManualResetEvent wait;
        private FtpWebRequest request;
        private string fileName;
        private Exception operationException = null;
        string status;

        public FtpState()
        {
            wait = new ManualResetEvent(false);
        }

        public ManualResetEvent OperationComplete
        {
            get {return wait;}
        }

        public FtpWebRequest Request
        {
            get {return request;}
            set {request = value;}
        }

        public string FileName
        {
            get {return fileName;}
            set {fileName = value;}
        }
        public Exception OperationException
        {
            get {return operationException;}
            set {operationException = value;}
        }
        public string StatusDescription
        {
            get {return status;}
            set {status = value;}
        }
    }
    public class AsynchronousFtpUpLoader
    {  
        // Command line arguments are two strings:
        // 1. The url that is the name of the file being uploaded to the server.
        // 2. The name of the file on the local machine.
        //
        public static void Main(string[] args)
        {
            // Create a Uri instance with the specified URI string.
            // If the URI is not correctly formed, the Uri constructor
            // will throw an exception.
            ManualResetEvent waitObject;

            Uri target = new Uri (args[0]);
            string fileName = args[1];
            FtpState state = new FtpState();
            FtpWebRequest request = (FtpWebRequest)WebRequest.Create(target);
            request.Method = WebRequestMethods.Ftp.UploadFile;

            // This example uses anonymous logon.
            // The request is anonymous by default; the credential does not have to be specified. 
            // The example specifies the credential only to
            // control how actions are logged on the server.

            request.Credentials = new NetworkCredential ("anonymous","janeDoe@contoso.com");

            // Store the request in the object that we pass into the
            // asynchronous operations.
            state.Request = request;
            state.FileName = fileName;

            // Get the event to wait on.
            waitObject = state.OperationComplete;

            // Asynchronously get the stream for the file contents.
            request.BeginGetRequestStream(
                new AsyncCallback (EndGetStreamCallback), 
                state
            );

            // Block the current thread until all operations are complete.
            waitObject.WaitOne();

            // The operations either completed or threw an exception.
            if (state.OperationException != null)
            {
                throw state.OperationException;
            }
            else
            {
                Console.WriteLine("The operation completed - {0}", state.StatusDescription);
            }
        }
        private static void EndGetStreamCallback(IAsyncResult ar)
        {
            FtpState state = (FtpState) ar.AsyncState;

            Stream requestStream = null;
            // End the asynchronous call to get the request stream.
            try
            {
                requestStream = state.Request.EndGetRequestStream(ar);
                // Copy the file contents to the request stream.
                const int bufferLength = 2048;
                byte[] buffer = new byte[bufferLength];
                int count = 0;
                int readBytes = 0;
                FileStream stream = File.OpenRead(state.FileName);
                do
                {
                    readBytes = stream.Read(buffer, 0, bufferLength);
                    requestStream.Write(buffer, 0, readBytes);
                    count += readBytes;
                }
                while (readBytes != 0);
                Console.WriteLine ("Writing {0} bytes to the stream.", count);
                // IMPORTANT: Close the request stream before sending the request.
                requestStream.Close();
                // Asynchronously get the response to the upload request.
                state.Request.BeginGetResponse(
                    new AsyncCallback (EndGetResponseCallback), 
                    state
                );
            } 
            // Return exceptions to the main application thread.
            catch (Exception e)
            {
                Console.WriteLine("Could not get the request stream.");
                state.OperationException = e;
                state.OperationComplete.Set();
                return;
            }

        }

        // The EndGetResponseCallback method  
        // completes a call to BeginGetResponse.
        private static void EndGetResponseCallback(IAsyncResult ar)
        {
            FtpState state = (FtpState) ar.AsyncState;
            FtpWebResponse response = null;
            try 
            {
                response = (FtpWebResponse) state.Request.EndGetResponse(ar);
                response.Close();
                state.StatusDescription = response.StatusDescription;
                // Signal the main application thread that 
                // the operation is complete.
                state.OperationComplete.Set();
            }
            // Return exceptions to the main application thread.
            catch (Exception e)
            {
                Console.WriteLine ("Error getting response.");
                state.OperationException = e;
                state.OperationComplete.Set();
            }
        }
    }
}
WebPermission

for accessing the resource referenced by this request.Associated enumeration: Connect.

.NET Framework
Þu saatten beri kullanýlabilir: 2.0

Bu türdeki tüm ortak statik (Visual Basic'te Paylaşılan) üyeler iş parçacığı için güvenlidir. Hiçbir örnek üyesinin iş parçacığı açısından güvenliği garanti edilemez.

Başa dön
Show:
© 2016 Microsoft