Net și c #, clasa webclient

Dacă aveți nevoie doar de a solicita un fișier dintr-un (Uniform Resource Identifier - Uniform Resource Identifier) ​​specifice URI, clasa .NET cel mai ușor de utilizat, care este potrivit pentru acest scop, se va System.Net.WebClient. Această clasă extrem de înalt nivel proiectat pentru a efectua operațiuni de bază, cu doar una sau două echipe. În prezent, .NET Framework suportă URI, începând cu identificatorii http:. https: și fișier :.







Este important să rețineți că termenul URL (Uniform Resource Locator) nu mai este utilizat în noile specificații tehnice, dar în schimb este preferat URI-ul. URI are aproximativ același înțeles ca adresa URL, dar este puțin mai generală, deoarece adresa URL nu implică utilizarea obligatorie a unuia dintre protocoalele familiare, cum ar fi HTTP sau FTP.

Încărcarea fișierelor

Există două metode disponibile pentru descărcarea fișierelor utilizând WebClient. Alegerea metodei depinde de modul în care trebuie prelucrate conținutul fișierului. Dacă trebuie doar să salvați fișierul pe disc, ar trebui să utilizați metoda DownloadFile (). Această metodă are doi parametri: fișierul URI și locația (numele căii și al fișierului) pentru a stoca datele solicitate:

De multe ori, aplicația trebuie să proceseze datele extrase din site. Aceasta este oferită de metoda OpenRead (). Returnează o referință la Stream, care poate fi utilizată pentru extragerea datelor în memorie:

Următorul exemplu demonstrează utilizarea metodei WebClient.OpenRead (). Conținutul paginii încărcate va fi afișat în comanda TextBox. Mai întâi, creați un nou proiect ca o aplicație standard WPF și adăugați un control TextBox numit txb. La începutul fișierului, va trebui să adăugați referințe la spațiile de nume System.Net și System.IO la lista de directive care utilizează. Apoi adăugați butonul de preluare a clicurilor pe buton:







În acest exemplu, clasa StreamReader din spațiul de nume System.IO se conectează la fluxul de rețea. Acest lucru vă permite să obțineți date din flux în formă de text, utilizând metode de nivel înalt precum ReadLine (). În Fig. afișează rezultatele executării acestui cod:

Net și c #, clasa webclient

Clasa WebClient include, de asemenea, metoda OpenWrite (). Această metodă returnează un flux de scriere pentru a trimite date către un anumit URI. În acest caz, puteți specifica metoda care ar trebui utilizată pentru a trimite date către gazdă, implicit este POST.

Încărcați fișiere

Clasa WebClient are de asemenea metode UploadFile () și UploadData (). Acestea sunt utilizate atunci când aveți nevoie pentru a trimite HTML formular sau încărcați un fișier pe server. UploadFile () evacueazã fișierul în locația specificată cu numele specificat al fișierului local, în timp ce UploadData () evacueazã datele binare reprezentate ca o matrice de octeți URI specificat (există și DownloadData), metoda (. Pentru a extrage o matrice de octeți de la URI) .

Deși clasa WebClient este foarte simplă, are capacități foarte limitate. În special, este imposibil de a transmite datele de înregistrare pentru autentificare - una dintre problemele asociate cu datele de încărcare, este că doar un număr relativ mic de site-uri accepta fișiere fără autentificare.

În cereri, puteți adăuga informații despre antet și puteți verifica anteturile din răspuns, dar numai într-un sens foarte general - nu există suport specific pentru niciunul dintre protocoale. Motivul este că WebClient este o clasă generală destinată să lucreze cu orice protocol care vă permite să trimiteți cereri și să primiți răspunsuri (cum ar fi HTTP și FTP). Nu poate procesa niciun fel de instrumente specifice unui protocol, de exemplu, socket-uri specifice HTTP. Pentru a profita de aceste instrumente, trebuie să lucrați cu o familie de clase bazate pe alte două clase din spațiul de nume System.Net, și anume WebRequest și WebResponse.







Articole similare

Trimiteți-le prietenilor: