Salve, prima di tutto scusatemi mod se ho fatto molti errori ultimamente. Credo di aver capito la lezione... spero ... Di seguito vi riporto una classe vb.net per il modulo post e get... vorrei inserire il settaggio dei cookie, consigli? grazie mille!

codice:
Imports System
Imports System.Collections.Generic
Imports System.Collections.Specialized
Imports System.IO
Imports System.Net
Imports System.Text
Imports System.Web


''' <summary>
''' Esegue un modulo HTTP (Form HTML) in modalità POST e GET.
''' </summary>
Public Class HttpPost


    ''' <summary>
    ''' Modalità di esecuzione del modulo.
    ''' </summary>
    Public Enum PostTypes
        ''' <summary>
        ''' HTTP GET.
        ''' </summary>
        [GET]
        ''' <summary>
        ''' HTTP POST.
        ''' </summary>
        POST
    End Enum

    ' OGGETTI PRIVATI
    Private _url As String
    Private _values As NameValueCollection
    Private _type As PostTypes
    Private _encoding As Encoding


    ''' <summary>
    ''' Esegue un modulo HTTP (Form HTML) in modalità POST e GET.
    ''' </summary>
    Public Sub New()
        ' init default
        Me._url = String.Empty
        Me._type = PostTypes.[GET]
        Me._values = New NameValueCollection()
        Me._encoding = Text.Encoding.UTF8
    End Sub


    ''' <summary>
    ''' Esegue un modulo in modalità POST e GET.
    ''' </summary>
    ''' <param name="url">URL del modulo da eseguire.</param>
    Public Sub New(ByVal url As String)
        Me.New()
        Me._url = url
    End Sub


    ''' <summary>
    ''' Esegue un modulo in modalità POST e GET.
    ''' </summary>
    ''' <param name="url">URL del modulo da eseguire.</param>
    ''' <param name="values">Collezione dei valori del modulo.</param>
    Public Sub New(ByVal url As String, ByVal values As NameValueCollection)
        Me.New(url)
        Me._values = values
    End Sub


    ''' <summary>
    ''' Esegue un modulo in modalità POST e GET.
    ''' </summary>
    ''' <param name="url">URL del modulo da eseguire.</param>
    ''' <param name="values">Collezione dei valori del modulo.</param>
    ''' <param name="encoding">Codifica del set di caratteri.</param>
    Public Sub New(ByVal url As String, ByVal values As NameValueCollection, ByVal encoding As Encoding)
        Me.New(url, values)
        Me._encoding = encoding
    End Sub


    ''' <summary>
    ''' Legge o imposta la URL del modulo da eseguire.
    ''' </summary>
    Public Property Url() As String
        Get
            Return (Me._url)
        End Get
        Set(ByVal value As String)
            Me._url = value
        End Set
    End Property


    ''' <summary>
    ''' Legge o imposta la collezione dei valori del modulo.
    ''' </summary>
    Public Property Values() As NameValueCollection
        Get
            Return (Me._values)
        End Get
        Set(ByVal value As NameValueCollection)
            Me._values = value
        End Set
    End Property


    ''' <summary>
    ''' Legge o imposta la modalità di esecuzione del modulo.
    ''' </summary>
    Public Property Type() As PostTypes
        Get
            Return (Me._type)
        End Get
        Set(ByVal value As PostTypes)
            Me._type = value
        End Set
    End Property


    ''' <summary>
    ''' Legge o imposta il tipo di codifica del set di caratteri.
    ''' </summary>
    Public Property Encoding() As Encoding
        Get
            Return (Me._encoding)
        End Get
        Set(ByVal value As Encoding)
            Me._encoding = value
        End Set
    End Property


    ''' <summary>
    ''' Esegue il modulo HTTP.
    ''' </summary>
    ''' <returns>String, codice HTML restituito dall'esecuzione del modulo.</returns>
    Public Function Post() As String
        Dim parameters As New StringBuilder()
        For i As Integer = 0 To Me._values.Count - 1
            Me.AddItem(parameters, Me._values.GetKey(i), Me._values(i))
        Next
        Return (PostData(Me._url, parameters.ToString(), Text.Encoding.UTF8))
    End Function


    ''' <summary>
    ''' Esegue il modulo HTTP.
    ''' </summary>
    ''' <param name="url">URL del modulo da eseguire.</param>
    ''' <returns>String, codice HTML restituito dall'esecuzione del modulo.</returns>
    Public Function Post(ByVal url As String) As String
        Me._url = url
        Return (Me.Post())
    End Function


    ''' <summary>
    ''' Esegue il modulo HTTP.
    ''' </summary>
    ''' <param name="url">URL del modulo da eseguire.</param>
    ''' <param name="values">Collezione dei valori del modulo.</param>
    ''' <returns>String, codice HTML restituito dall'esecuzione del modulo.</returns>
    Public Function Post(ByVal url As String, ByVal values As NameValueCollection) As String
        Me._url = url
        Me._values = values
        Return (Me.Post())
    End Function


    ''' <summary>
    ''' Esegue il modulo HTTP.
    ''' </summary>
    ''' <param name="postDatas">Valori del modulo, in formato UrlEncoded.</param>
    ''' <param name="url">URL del modulo da eseguire.</param>
    ''' <param name="encoding">Codifica del set di caratteri.</param>
    ''' <returns>String, codice HTML restituito dall'esecuzione del modulo.</returns>
    Private Function PostData(ByVal url As String, ByVal postDatas As String, ByVal encoding As System.Text.Encoding) As String

        Dim uri As Uri
        Dim request As HttpWebRequest = Nothing

        Select Case Me._type
            Case PostTypes.POST
                uri = New Uri(url)
                request = DirectCast(WebRequest.Create(uri), HttpWebRequest)
                request.Method = "POST"
                request.ContentType = "application/x-www-form-urlencoded"
                request.ContentLength = postDatas.Length
                Using writeStream As Stream = request.GetRequestStream()
                    Dim bytes As Byte() = encoding.GetBytes(postDatas)
                    writeStream.Write(bytes, 0, bytes.Length)
                End Using
                Exit Select
            Case PostTypes.[GET]
                uri = New Uri(url + "?" + postDatas)
                request = DirectCast(WebRequest.Create(uri), HttpWebRequest)
                request.Method = "GET"
                Exit Select
        End Select
        Dim ret As String = String.Empty
        Using response As HttpWebResponse = DirectCast(request.GetResponse(), HttpWebResponse)
            Using responseStream As Stream = response.GetResponseStream()
                Using readStream As New StreamReader(responseStream, encoding)
                    ret = readStream.ReadToEnd()
                End Using
            End Using
        End Using
        Return ret
    End Function


    ''' <summary>
    ''' Codifica i parametri e li concatena in una stringa formattata per l'esecuzione del modulo.
    ''' </summary>
    ''' <param name="baseRequest">Stringa formattata contenente i parameteri codificati in precedenza.</param>
    ''' <param name="dataItem">Valore da codificare.</param>
    Private Sub AddItem(ByRef baseRequest As StringBuilder, ByVal key As String, ByVal dataItem As String)
        If baseRequest Is Nothing Then
            baseRequest = New StringBuilder()
        End If
        baseRequest.Append((IIf((baseRequest.Length <> 0), "&", String.Empty)) + key + "=" + HttpUtility.UrlEncode(dataItem))
    End Sub

End Class