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:
Ora io eseguo queste richieste e riesco a loggarmi: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
Per inviare il codice della mia postepay uso questo codice: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")
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.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))
Soluzioni?![]()
![]()

)
