Salve, sto facendo x mia comodità un programmino che mi dica in un click il mio saldo postepay...

Ho alcuni problemi..

vi posto il codice e vi spiego:

Questa le funzioni che uso:

codice:
Public iCookie As New CookieCollection
    Public newContainer As New Net.CookieContainer

Function GetPageWithCookiePOST(ByVal PageUrl As String, ByVal postato As String) As String

        Dim sb As New System.Text.StringBuilder

        Try

            Dim request As HttpWebRequest = WebRequest.Create(PageUrl)

            request.Method = "POST"

            request.AllowAutoRedirect = True
            request.ContentType = "application/x-www-form-urlencoded"

            Dim encoding As New System.Text.ASCIIEncoding

            Dim arByte As Byte() = encoding.GetBytes(postato)

            request.ContentLength = arByte.Length

            Dim newStream As IO.Stream = request.GetRequestStream

            newStream.Write(arByte, 0, arByte.Length)

            newStream.Close()



            newContainer.Add(iCookie)
            request.CookieContainer = newContainer

            Dim response As HttpWebResponse = request.GetResponse()

            For Each rCookie As Cookie In CType(response, Net.HttpWebResponse).Cookies

                Dim Found As Boolean = False


                For Each pCookie As Cookie In iCookie

                    If pCookie.Name = rCookie.Name Then

                        pCookie.Value = rCookie.Value

                        Found = True

                        Exit For
                    End If

                Next

                If Not Found Then

                    iCookie.Add(rCookie)

                End If

            Next

            Using reader As StreamReader = New StreamReader(response.GetResponseStream())

                sb.Append(reader.ReadToEnd)

            End Using

            Return sb.ToString

        Catch ex As Exception

            Return ""

        Finally

            sb = Nothing

        End Try
    End Function


Function GetPageWithCookie(ByVal PageUrl As String) As String

        Dim sb As New System.Text.StringBuilder

        Try

            Dim request As HttpWebRequest = WebRequest.Create(PageUrl)

            request.AllowAutoRedirect = True

            newContainer.Add(iCookie)
            request.CookieContainer = newContainer

            Dim response As HttpWebResponse = request.GetResponse()

            For Each rCookie As Cookie In CType(response, Net.HttpWebResponse).Cookies

                Dim Found As Boolean = False


                For Each pCookie As Cookie In iCookie

                    If pCookie.Name = rCookie.Name Then

                        pCookie.Value = rCookie.Value

                        Found = True

                        Exit For
                    End If

                Next

                If Not Found Then

                    iCookie.Add(rCookie)

                End If

            Next

            Using reader As StreamReader = New StreamReader(response.GetResponseStream())

                sb.Append(reader.ReadToEnd)

            End Using

            Return sb.ToString

        Catch ex As Exception

            Return ""

        Finally

            sb = Nothing

        End Try
    End Function
Ora io eseguo queste richieste e riesco a loggarmi:

codice:
 
Dim p1 As String = GetPageWithCookiePOST("https://bancopostaonline.poste.it/bpol/CARTEPRE/Logon.fcc", "USER=" & Web.HttpUtility.UrlEncode("XXXXXXXX", System.Text.Encoding.Default) & "&Password=" & Web.HttpUtility.UrlEncode("XXXXXXX", System.Text.Encoding.Default) & "&btnSubmit=Invia&target=" & Web.HttpUtility.UrlEncode("/bpol/cartepre/RedirectionGateway.ashx?type=SMACCESS", System.Text.Encoding.Default) & "&device_id=" & Web.HttpUtility.UrlEncode("[[[INACCESSIBLE]]]", System.Text.Encoding.Default))


Dim p4 As String = GetPageWithCookie("https://bancopostaonline.poste.it/bpol/cartepre/servizi/cartapostepay/cartapostepay.aspx?pnlstart=listamovimenti")
Per inviare il codice della mia postepay uso questo codice:

codice:
Dim vs As Match = Regex.Match(p4, "<input type=" & virgolette & "hidden" & virgolette & " name=" & virgolette & "__VIEWSTATE" & virgolette & "[^>]+", RegexOptions.IgnoreCase)
        Dim valorevs As Match = Regex.Match(vs.Groups.Item(0).Value, "value=" & virgolette & "([^" & virgolette & "]+)", RegexOptions.IgnoreCase)
        Dim valVS As String = valorevs.Groups.Item(1).Value



        Dim p5 As String = GetPageWithCookiePOST("https://bancopostaonline.poste.it/bpol/cartepre/servizi/cartapostepay/cartapostepay.aspx?pnlstart=listamovimenti", Web.HttpUtility.UrlEncode("CartaPostePaySelezionaCarta1:btnEsegui", System.Text.Encoding.Default) & "=Esegui&" & Web.HttpUtility.UrlEncode("CartaPostePaySelezionaCarta1:txtNrCartaPre", System.Text.Encoding.Default) & "=XXXXXXXXXXXX&" & Web.HttpUtility.UrlEncode("CartaPostePaySelezionaCarta1:cmbLista", System.Text.Encoding.Default) & "=40&" & Web.HttpUtility.UrlEncode("__VIEWSTATE=", System.Text.Encoding.Default) & Web.HttpUtility.UrlEncode(valVS, System.Text.Encoding.Default))
Ovvero dalla richiesta p4 ottengo il __VIEWSTATE e lo invio insieme al resto, però quello che ottengo è il sorgente della pagina di login anziche quello della lista movimenti.

Soluzioni?