Home / Programmazione / C# - Asp.NET / C# WebRequest
Mattepuffo

C# WebRequest

C# WebRequest

Quello che vediamo oggi è come effettuare una WebRequest usando C#.

Giusto per chiarire l'utilità della cosa, nel mio programma invio dei file TXT ad un server, che poi devono essere elaborati da un file in PHP.

Una volta caricati i file invio una richiesta al file PHP in modo che li elabori.

In questo modo da un semplice programma console faccio tutto (leggendomi poi eventuali log di errore ovviamente).

Andiamo quindi a creare la nostra classe:

    class MyRequest
    {
        private String strUrl = "http://www.miosito.it/";

        public void requestService(string phpFile)
        {
            int maxLenght = 1024;
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(strUrl + phpFile);
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            Stream stream = response.GetResponseStream();
            StreamReader reader = new StreamReader(stream);
            char[] buf = new char[maxLenght];
            int count = reader.Read(buf, 0, maxLenght);
            while (count > 0)
            {
                String output = new String(buf, 0, count);
                Console.WriteLine(output);
                count = reader.Read(buf, 0, maxLenght);
            }
            reader.Close();
            stream.Close();
            response.Close();
        }

Abbiamo un solo metodo che accetta un argomento, che corrisponde al file verso il quale effettuare la richiesta.

L'oggetto HttpWebRequest serve per effettuare una richiesta ad un URI, usando il protocollo HTTP.

HttpWebResponse è il suo alterego, e serve per leggere la risposta da un URI.

Con Stream prendiamo lo stream in ingresso dalla risposta, e con lo StreamReader lo leggiamo.

Sotto stampiamo la risposta in un ciclo while.

Notate che qua non ho usato ne il try/catch ne la direttiva using, ma sarebbero da implementare.

Ciao!!