Categories: C# (sharp)VB.NET

Connessioni HTTP in .NET

In uno scorso articolo dedicato alle classi di rete del .NET framework, abbiamo parlato della risoluzione dei nomi tramite i server DNS, questa volta ci occuperemo delle connessioni con pagine web attraverso il protocollo HTTP. Le classi più importanti per la realizzazione di connessioni HTTP sono WebRequest e WebResponse. Queste due classi consentono di sfruttare in maniera semplice le caratteristiche delle connessioni HTTP. Vediamo un esempio in C# per la connessione con una pagina web facendo ritornare il documento HTML della web page.

using System;
using System.IO;
using System.Net;
using System.Text;

public class Corso
{
   static void Main(string[] args)
   {
        WebRequest wr = WebRequest.Create(http://www.rgpsoft.it);
        wr.Credentials = CredentialCache.DefaultCredentials;
        HttpWebResponse hwr = (HttpWebResponse)wr.GetResponse();
        Console.WriteLine(hwr.StatusDescription);
        Stream ds = hwr.GetResponseStream();
        StreamReader sr = new StreamReader(ds);
        string buffer = sr.ReadToEnd();
        Console.WriteLine(buffer);
        sr.Close();
        ds.Close();
        hwr.Close();

        Console.ReadKey();
   }
}

Lo stesso esmpio ma in linguaggio VB.NET

Imports System.Net
Imports System.IO
Imports System.Text

Module Corso
   Sub Main()
        Dim wr As WebRequest, hwr As HttpWebResponse
        Dim ds As Stream, sr As StreamReader, buffer As String

        wr = WebRequest.Create(http://www.rgpsoft.it)
        wr.Credentials = CredentialCache.DefaultCredentials
        hwr = wr.GetResponse()
        Console.WriteLine(hwr.StatusDescription)
        ds = hwr.GetResponseStream()
        sr = New StreamReader(ds)
        buffer = sr.ReadToEnd()
        Console.WriteLine(buffer)
        sr.Close()
        ds.Close()
        hwr.Close()

        Console.ReadKey()
   End Sub
End Module

Da notare che con queste due classi abbiamo il pieno supporto alle connessioni HTTP, perfino quelle tramite SSL, infatti attraverso WebRequest.Credentials è possibile ottenere l’accesso ad un web server che richiede autenticazione basic, digest, NTLM o Kerberos. Altra caratteristica che è possibile implementare attraverso le Net classes del framework è costituita dallo sfruttamento della proprietà Pipelined, quindi inviare più richieste senza dover attendere la risposta del server; possiamo anche indicare l’utilizzo di un server proxy per ottenere la connessione.

<< Lezione Precedente – Inizio CorsoIndice LezioniLezione Successiva >>

Share
Giampaolo Rossi

Sviluppatore di software gestionale da oltre 28 anni.

Published by
Giampaolo Rossi

Recent Posts

MerciGest: il gestionale di magazzino semplice e gratuito

MerciGest è il software gestionale gratuito per Windows che semplifica la gestione del magazzino: giacenze,…

4 giorni ago

Software gestionali con SQL Server: un archivio unico, accessibile ovunque

Tutti i nostri software gestionali possono essere collegati a un database SQL Server, consentendo l’accesso…

5 giorni ago

Come iniziare ad usare MerciGest in 5 minuti

MerciGest è semplice e immediato: basta scaricare e installare il programma per iniziare subito. Al…

1 settimana ago

Cos’è MerciGest e a chi serve

MerciGest è un gestionale di magazzino per Windows pensato per negozi, piccole imprese e artigiani…

1 settimana ago

Introduzione alla Standard Template Library (STL)

La Standard Template Library (STL) è una delle componenti più potenti del C++. Fornisce una…

7 mesi ago

Un Abbonamento per Tutti i Software

Sono arrivato alla convinzione che un abbonamento per tutti i miei software gestionali sia il…

2 anni ago