Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [VB.NET] Aggiungere a questa classe i cookie

    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

  2. #2
    Ciao..non so se ti può essere di aiuto:

    http://www.morpheusweb.it/html/scrip...ionicookie.asp

    Ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.