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

Un Abbonamento per Tutti i Software

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

10 mesi ago

Software di Magazzino Gratuito

MerciGest è un software per la gestione del magazzino completamente gratuito. Continua a leggere→

11 mesi ago

Mettere il PC in Lock Screen

In ufficio può capitare di doversi allontanare dal proprio posto di lavoro, ecco che allora…

3 anni ago

Fare il reset togliendo la corrente

In questo articolo vedremo quando è più o meno utile togliere la corrente ad un…

3 anni ago

Prossimi Aggiornamenti Software

Dopo la pausa invernale dovuta al lavoro che devo fare per sostentarmi, eccomi di nuovo…

3 anni ago

Come Eliminare i Files in Windows

Vediamo come eliminare i files direttamente da Windows senza utilizzare il cestino. Continua a leggere→

3 anni ago