Dim Request As Net.HttpWebRequest, Response As Net.HttpWebResponse, Credentials() As Byte, Source As String
'Dichiaro l'URi dove effetterò il POST
Dim LoginURI As New Uri("https://www.sito.com/account/submit")
'Variabile Byte che fungerà da Buffer per l'oggetto Stream contenente la quey string
'(ho omesso il ? ma anche mettendolo non cambia niente)
Credentials = System.Text.Encoding.UTF8.GetBytes("credentials.username=" & _User & "&credentials.password=" & _Password)
'Instanzio l'HttpWebRequest e ne definisco alcune proprietà
Request = Net.WebRequest.Create(LoginURI)
'Il metodo è POST
Request.Method = "POST"
Request.ContentType = "text/html; charset=utf-8"
'ovviamente la richiesta deve avere le dimensioni della query string
Request.ContentLength = Credentials.Length
'mi servono i cookies per dopo
Request.CookieContainer = New Net.CookieContainer
'Instanzio uno Stream per scrivere nel flusso di dati
Dim Writer As IO.Stream = Request.GetRequestStream
Try
'scrivo
Writer.Write(Credentials, 0, Credentials.Length)
Catch ex As Exception
Throw New Exception(ex.Message)
Finally
'in ogni caso lo stream và chiuso
Writer.Close()
End Try
'Instanzio l'HttpWebResponse
Response = Request.GetResponse
'Instanzio uno streamreader per leggere completamente la risposta
Dim Reader As New IO.StreamReader(Response.GetResponseStream)
Try
'Leggo la risposta completa e la metto in Source
Source = Reader.ReadToEnd
Catch ex As Exception
Throw New Exception(ex.Message)
Finally
'In ogni caso lo streamreader và chiuso
Reader.Close()
End Try