Dışarıya aktar (0) Yazdır
Tümünü 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) istemcisi uygular.

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

public sealed class FtpWebRequest : WebRequest

FtpWebRequest türü aşağıdaki üyeleri ortaya koyar.

  AdAçıklama
Genel özellikAuthenticationLevelAlır veya ayarlar kimlik doğrulaması ve bu istek için kullanılan bir kimliğe bürünme düzeyini gösteren değer. (WebRequest kaynağından devralındı.)
Genel özellikCachePolicyAlır veya ayarlar bu istek için önbellek ilkesi. (WebRequest kaynağından devralındı.)
Genel özellikClientCertificatesAlır veya ftp sunucusuna şifreli bir bağlantı kurmak için kullanılan sertifikaları ayarlar.
Genel özellikConnectionGroupNameAlır veya ayarlar geçerli istek göndermek için kullanılan hizmet noktası içeren bağlantı grubunun adı. (WebRequest.ConnectionGroupName geçersiz kılınır.)
Genel özellikContentLengthAltyapı. Alır veya ayarlar tarafından dikkate değer FtpWebRequest sınıfı. (WebRequest.ContentLength geçersiz kılınır.)
Genel özellikContentOffsetAlır veya bu isteği tarafından yüklenen dosyanın bayt uzaklığı belirler.
Genel özellikContentTypeAltyapı. Her zaman yaratmaz bir NotSupportedException. (WebRequest.ContentType geçersiz kılınır.)
Genel özellikCreatorInstance Artık kullanılmıyor. Bir alt sınıfta geçersiz kılındı zaman alır fabrika nesnesinin elde IWebRequestCreate sınıfı oluşturmak için kullanılan WebRequest örneği için belirtilen URI isteği yapmak için. (WebRequest kaynağından devralındı.)
Genel özellikCredentialsAlır veya ftp sunucusuyla iletişim kurmak için kullanılacak kimlik bilgilerini ayarlar. (WebRequest.Credentials geçersiz kılınır.)
Genel özellikStatik üyeDefaultCachePolicyTüm ftp istekleri için varsayılan önbellek ilkesi tanımlar.
Genel özellikEnableSslAlır veya ayarlar bir Boolean bir ssl bağlantısının kullanılacağını belirtir.
Genel özellikHeadersAltyapı. Boş bir alır WebHeaderCollection nesne. (WebRequest.Headers geçersiz kılınır.)
Genel özellikImpersonationLevelAlır veya geçerli isteğin kimliğe bürünme düzeyini ayarlar. (WebRequest kaynağından devralındı.)
Genel özellikKeepAliveAlır veya ayarlar bir Boolean isteği tamamlandıktan sonra ftp sunucusu için denetim bağlantısı kapalı olup olmadığını belirten değer.
Genel özellikMethodAlır veya ayarlar ftp sunucusuna göndermek için kullanılan komut. (WebRequest.Method geçersiz kılınır.)
Genel özellikPreAuthenticateAltyapı. Her zaman yaratmaz bir NotSupportedException. (WebRequest.PreAuthenticate geçersiz kılınır.)
Genel özellikProxyAlır veya proxy ftp sunucusuyla iletişim kurmak için kullanılan ayarlar. (WebRequest.Proxy geçersiz kılınır.)
Genel özellikReadWriteTimeoutAlır veya okuma veya yazma akışı için zaman aşımını ayarlar.
Genel özellikRenameToAlır veya yeni bir dosya adı değiştirilmekte olan adını ayarlar.
Genel özellikRequestUriBu örneği tarafından istenen URI alır. (WebRequest.RequestUri geçersiz kılınır.)
Genel özellikServicePointAlır ServicePoint ftp sunucusuna bağlanmak için kullanılan nesne.
Genel özellikTimeoutAlır veya bir istek için beklenecek milisaniye sayısını ayarlar. (WebRequest.Timeout geçersiz kılınır.)
Genel özellikUseBinaryAlır veya ayarlar bir Boolean dosya aktarımı için veri türünü belirten değer.
Genel özellikUseDefaultCredentialsAltyapı. Her zaman yaratmaz bir NotSupportedException. (WebRequest.UseDefaultCredentials geçersiz kılınır.)
Genel özellikUsePassiveAlır veya bir istemci uygulamanın veri aktarım işlemi davranışını ayarlar.
Üst

  AdAçıklama
Genel yöntemAbortZaman uyumsuz bir ftp işlemi sonlandırır. (WebRequest.Abort() geçersiz kılınır.)
Genel yöntemBeginGetRequestStreamZaman uyumsuz olarak yazmak için bir isteğin içerik akışı açma başlar. (WebRequest.BeginGetRequestStream(AsyncCallback, Object) geçersiz kılınır.)
Genel yöntemBeginGetResponseBaşlayan bir istek gönderip yanıt bir ftp sunucusundan zaman uyumsuz. (WebRequest.BeginGetResponse(AsyncCallback, Object) geçersiz kılınır.)
Genel yöntemCreateObjRefUzak 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. (MarshalByRefObject kaynağından devralındı.)
Genel yöntemEndGetRequestStreamBekleyen bir zaman uyumsuz işlemi ile başladı sona BeginGetRequestStream. (WebRequest.EndGetRequestStream(IAsyncResult) geçersiz kılınır.)
Genel yöntemEndGetResponseBekleyen bir zaman uyumsuz işlemi ile başladı sona BeginGetResponse. (WebRequest.EndGetResponse(IAsyncResult) geçersiz kılınır.)
Genel yöntemEquals(Object) Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Object kaynağından devralındı.)
Genel yöntemGetHashCodeVarsayılan karma işlevi hizmet verir. (Object kaynağından devralındı.)
Genel yöntemGetLifetimeServiceBu örneği için Yaşam ilke denetimlerini geçerli yaşam süresi hizmet nesnesi alır. (MarshalByRefObject kaynağından devralındı.)
Genel yöntemGetRequestStreamVerileri bir ftp sunucusuna yüklemek için kullanılan akış alır. (WebRequest.GetRequestStream() geçersiz kılınır.)
Genel yöntemGetRequestStreamAsyncBir alt sınıfta geçersiz döner bir Stream Internet kaynak olarak zaman uyumsuz bir işlem için veri yazma. (WebRequest kaynağından devralındı.)
Genel yöntemGetResponseftp sunucusunun yanıtını verir. (WebRequest.GetResponse() geçersiz kılınır.)
Genel yöntemGetResponseAsyncBir alt sınıfta geçersiz kılındı zaman zaman uyumsuz bir işlem Internet isteğine yanıt verir. (WebRequest kaynağından devralındı.)
Genel yöntemGetTypeMevcut örnek için Type alır. (Object kaynağından devralındı.)
Genel yöntemInitializeLifetimeServiceBu örnek için Yaşam İlkesi denetlemek için bir yaşam süresi hizmet nesnesi alır. (MarshalByRefObject kaynağından devralındı.)
Genel yöntemToStringGeçerli nesneyi temsil eden bir dize döndürür. (Object kaynağından devralındı.)
Üst

  AdAçıklama
Açık arabirim uygulamasıÖzel yöntemISerializable.GetObjectDataAltyapı. Bir alt sınıfta geçersiz olduğunda dolduran bir SerializationInfo seri hale getirmek için gerekli olan veriyi örnekle WebRequest. (WebRequest kaynağından devralındı.)
Üst

Bir kopyasını edinmek için FtpWebRequest, kullanma Create yöntemi. Ayrıca WebClient karşıya yükleme ve karşıdan yükleme bilgileri bir ftp sunucusundan sınıf. Bu yaklaşımlardan birini kullanarak, belirtirken ftp şemasını kullanan bir ağ kaynağına (örneğin, "ftp://contoso.com") FtpWebRequest sınıfı, ftp sunucularıyla programla etkileşim becerisi sağlar.

URI göreli veya mutlak olabilir. URI biçimi ise "ftp://contoso.com/%2fpath" (% 2f olduğu bir Kaçýrýlmýþ '/'), URI mutlak ve geçerli dizin /path. Ancak, URI şeklinde olup, "ftp://contoso.com/path", ilk.net Framework ftp sunucusuna oturum açtığında (kullanıcı adı ve parola kullanarak ayarlamak Credentials özelliği), geçerli dizini ayarlayın, sonra da <UserLoginDirectory>/path.

Geçerli bir kullanıcı adı olması ve sunucu veya sunucu parolasını adsız oturum açma izin vermesi gerekir. Ayarlayarak sunucuya bağlanmak için kullanılan kimlik bilgilerini belirleyebilirsiniz Credentials özelliği veya içerebilir içlerindeki UserInfo geçirilen URI bölümünü Create yöntemi. Eklerseniz UserInfo URI bilgi Credentials için yeni bir ağ kimlik bilgisiyle belirtilen kullanıcı adı ve parola bilgilerini özelliğini ayarlayın.

Uyarı notuUyarı

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

Olması gerekir WebPermission ; ftp kaynağa erişmek için Aksi halde, bir SecurityException exception Is thrown.

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

Kullanırken bir FtpWebRequest bir sunucuya dosya yüklemek için nesne çağrılarak alınan istek akışı için dosya içeriği yazma GetRequestStream yöntemini veya kendi zaman uyumsuz karşılıkları BeginGetRequestStream ve EndGetRequestStream yöntemleri. Akışı yazmaya ve akış isteğini göndermeden önce kapatın.

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

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

Komut başarılı olursa, bir ftp sunucusundan bir dosya indirme, istenen dosyanın içeriğini response nesnesinin akışında kullanılabilir. Bu akış çaðýrarak eriþebilirsiniz GetResponseStream yöntemi. Daha fazla bilgi için bkz. FtpWebResponse.

Proxy Özelliği ayarlanmışsa, ya doğrudan ya da yapılandırma dosyasında belirtilen proxy üzerinden ftp sunucusuyla iletişim yapılır. Belirtilen proxy http proxy, yalnızca olup DownloadFile, ListDirectory, ve ListDirectoryDetails komutlar desteklenir.

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

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

ftp protokolü hakkında daha fazla bilgi için bkz: rfc 959, "Dosya Aktarım Protokolü," yok http://www.rfc-editor.org/.

Aşağıdaki kod örneği, bir ftp sunucusundan bir dosya silme 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ği kullanarak, bir ftp sunucusundan bir dosya indirme 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ği, bir ftp sunucusuna bir dosya yüklemek için zaman uyumsuz işlemler kullanılmasını 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();
            }
        }
    }
}


.NET Framework

Destekleyen: 4.5, 4, 3.5, 3.0, 2.0

.NET Framework İstemci Profili

Destekleyen: 4, 3.5 SP1

  • WebPermission 

    Bu istek tarafından başvurulan kaynağa erişmek için. Numaralandırma ilişkili: Connect.

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Sunucu Çekirdeği Rolü desteklenmez), Windows Server 2008 R2 (Sunucu Çekirdeği Rolü, SP1 veya sonraki sürümlerle desteklenir; Itanium'da desteklenmez)

Bu .NET Framework her platformun tüm sürümlerini desteklemez. Desteklenen sürümlerin listesi için bkz. .NET Framework Sistem Gereksinimleri.

Bu türün statik (Visual Basic'te Shared) tüm genel üyeleri iş parçacığı güvenlidir. Hiçbir örnek üyesinin iş parçacığı açısından güvenliği garanti edilemez.

Topluluk İçeriği

Ekle
Show:
© 2014 Microsoft