+ Rispondi al messaggio
Pagina 2 di 4 primaprima 1234 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 37

Automatizzare accesso a sito internet

  1. #11
    Sn0rky non  in linea Scolaretto
    Post
    338
    Like Inviati  
    1
    Like Ricevuti  
    0
    niente da fare!
    Dim tempCookies As New System.Net.CookieContainer
            tempCookies.Add(CookieList)
            Request.CookieContainer = tempCookies
            Request.Headers.Add("Cookie" ,  "JSESSIONID="  &   CookieList.Item(0).Value.ToString)
    
    sia riempiendo il cookiecontainer, sia scrivendo il cookie nell'header... non c' verso di fargli rispondere "true"
    c' una qualche iterazione con il sito web che mi sfugge...
    solo dopo che il cookie "confermato" dal browser allora il codice funziona e mi rilascia correttamente il token

    devo capire dove sbaglio!!!

  2. #12
    Sn0rky non  in linea Scolaretto
    Post
    338
    Like Inviati  
    1
    Like Ricevuti  
    0
    Dopo una bella dormita.... era quasi tutto giusto! ovviamente quel che sbagliavo era che facevo 2 chiamate distinte al sito e salvavo il primo cookie e lo infilavo nella seconda richiesta che ovviamente generava il token riferito al secondo cookie... ho riscritto l'intera procedura in modo lineare e adesso funziona!
        Private Sub Button20_Click(sender As Object, e As EventArgs) Handles Button20.Click
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
            Dim PageUrl As String = "https://geoportale.cartografia.agenziaentrate.gov.it/age-inspire/srv/ita/Captcha?type=image&lang=it"
            Try
                Dim request As HttpWebRequest = WebRequest.Create(PageUrl)
                'request.Method = "GET"
                Dim newContainer As New Net.CookieContainer
                newContainer.Add(CookieList)
                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 CookieList
                        If pCookie.Name = rCookie.Name Then
                            pCookie.Value = rCookie.Value
                            Found = True
                            Exit For
                        End If
                    Next
                    If Not Found Then
                        CookieList.Add(rCookie)
                    End If
                Next
                Dim tmpImage As Drawing.Image = System.Drawing.Image.FromStream(response.GetResponseStream())
                PictureBox1.Image = tmpImage
                Dim Request2 As Net.HttpWebRequest = HttpWebRequest.Create(String.Format("https://geoportale.cartografia.agenziaentrate.gov.it/age-inspire/srv/ita/Captcha?type=check&captcha={0}", InputBox("Inserisci il CAPTCHA", "Inserisci il CAPTCHA")))
                Dim tempCookies As New CookieContainer
                tempCookies.Add(CookieList)
                Request2.CookieContainer = tempCookies
                Dim Response2 As Net.HttpWebResponse = Request2.GetResponse()
                Dim tempCookies2 As New CookieCollection
                tempCookies2 = Response2.Cookies
                Dim Reader As IO.Stream = Response2.GetResponseStream()
                Dim Buffer(8127) As Byte
                Dim BytesRead As Int32
                Dim stringa As String
                stringa = System.Text.Encoding.Default.GetString(Buffer)
                BytesRead = Reader.Read(Buffer, 0, Buffer.Length)
                Do While BytesRead > 0
                    BytesRead = Reader.Read(Buffer, 0, Buffer.Length)
                    stringa = System.Text.Encoding.Default.GetString(Buffer)
                Loop
                Reader.Close()
                If Not stringa.Contains("{""result"":true,""token"":""") Then
                    MessageBox.Show(stringa)
                    Return
                End If
                stringa = stringa.Replace("{""result"":true,""token"":""", String.Empty)
                stringa = stringa.Replace(""",""message"":""""}", String.Empty)
                MessageBox.Show(stringa)
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            Finally
            End Try
        End Sub
    
    ciauuuuuuu

  3. #13
    L'avatar di SirJo
    SirJo non  in linea Scolaretto
    Post
    50
    Like Inviati  
    5
    Like Ricevuti  
    2
    Ottimo !!!!

  4. #14
    Sn0rky non  in linea Scolaretto
    Post
    338
    Like Inviati  
    1
    Like Ricevuti  
    0
    Quote Originariamente inviato da SirJo Visualizza il messaggio
    Ottimo !!!!
    quasi la successiva richiesta che faccio utilizzando l token acquisito mi da errore 500, ho provato sia con webclient che httpwebrequest e ho capito che qualcosa inerente i certificati di sicurezza... lo stesso url se lo copio in un qualunque browser (anche senza avere cookie e nient'altro..) e premo invio va a buon fine!!!
    devo studiarci ancora... ma almeno questo argomento concluso con una vittoria!

  5. #15
    L'avatar di SirJo
    SirJo non  in linea Scolaretto
    Post
    50
    Like Inviati  
    5
    Like Ricevuti  
    2
    che versione di .NET framework usi ??

  6. #16
    Post
    1,864
    Blogs
    21
    Like Inviati  
    13
    Like Ricevuti  
    11
    ... anche un'analisi del traffico con Fiddler o simili potrebbe dare indicazioni
    ℹ️ Leggi di pi su sspintux ...

  7. #17
    Sn0rky non  in linea Scolaretto
    Post
    338
    Like Inviati  
    1
    Like Ricevuti  
    0
    Quote Originariamente inviato da SirJo Visualizza il messaggio
    che versione di .NET framework usi ??
    4.7.2 ma posso anche cambiarlo, il programma v1.0 4.7.2 ma se rilascio una v2.0 posso far quel che voglio

    Quote Originariamente inviato da sspintux Visualizza il messaggio
    ... anche un'analisi del traffico con Fiddler o simili potrebbe dare indicazioni
    vado a vedere di che si tratta!

    ieri sera son stato a guardare tutto quel che succedeva sul sito aprendo la console di chrome.... alla fine l'errore 500 causato dalla risposta del codice php che invia un file inesistente (chiss perch...) e CREDO sia quello il problema, ovviamente il browser lo ignora e mostra a schermo l'esatto output, nel prossimo post vi lascio alcuni screen con la spiegazione

  8. #18
    Sn0rky non  in linea Scolaretto
    Post
    338
    Like Inviati  
    1
    Like Ricevuti  
    0
    https://wms.cartografia.agenziaentra...ajax/ajax.php?op=getGeomPart&prov=AQ&cod_com=A018&foglio=1&num_p art=00002/&tkn=IjwHAawBcHbjVPNljJO0Ta6SIuwFeNTGadbgIz3MRZ8bqadI8z TzsFWtO3Wj602a2zs1NWZe3Zbr9o6dnc%2BcL9EKtQBjsSfSVJ 6NRpBiIicGI%2FkuH3GorxKENZfxaqYG229jonOp9NeSD3f6Qi mKB5w1acQa64NAujCwPmJSxWN65D6RsK50tEejKeocj%2FzqEL rN%2BZSjINIe9rylqR%2Fn3KOKVosUW%2B7QMmmdhKeAt7MrF2 0kO3GUmV62vcqxzmg5S4HwS4kSZCqXBJDVnKmxTDK4Dqc1PKXD Lz9eBtDLsiQ1yBYQYuMcLi2IgFQz7d%2BUf%2Bx18v%2F%2BQM 53wjp2j5eXSA%3D%3D

    la parte in rosso relativa alle scelte dell'utente, quella in blu il token recuperato inviando un captcha

    il codice che ho postato in precedenza mi permette di ottenere correttamente il token, quindi costruisco l'url e invio la richiesta... mi aspetterei di ricevere questo:
    {"GEOMETRIA":["{ \"type\": \"Polygon\", \"coordinates\": [ [ [13.6555608, 42.2074159], [13.6558488, 42.2074159], [13.6558488, 42.2078628], [13.6555608, 42.2078628], [13.6555608, 42.2074159] ] ] }"]}
    
    (in realt il sito web risponde con jQuery... ma funziona anche senza)

    il problema quell'errore 500, sia con webclient sia con httpwebrequest non riesco a "scavalcarlo" per andare a leggere la risposta...
    nello screen vedete una sessione in incognito di chrome... ho recuperato l'url da una sessione normale, ho chiuso e ripulito tutto... quell'url funziona per 10 minuti (la scadenza del token) provato sia su un browser qualunque sia usando un componente webbrowser...

    potete darmi un vostro giudizio sulla faccenda? grazie!!!

  9. #19
    L'avatar di SirJo
    SirJo non  in linea Scolaretto
    Post
    50
    Like Inviati  
    5
    Like Ricevuti  
    2
    l'errore 500 corrisponde a WebExceptionStatus.ProtocolError ????
    Non me lo ricordo
    Se si, puoi comunque leggere la risposta del server bypassando l'errore

  10. #20
    Sn0rky non  in linea Scolaretto
    Post
    338
    Like Inviati  
    1
    Like Ricevuti  
    0
    Quote Originariamente inviato da SirJo Visualizza il messaggio
    l'errore 500 corrisponde a WebExceptionStatus.ProtocolError ????
    Non me lo ricordo
    Se si, puoi comunque leggere la risposta del server bypassando l'errore
    dimmi che scherzi!?!?!?!?!?!?!
    dopo ci provo... devo finire una relazione per un bando di gara, cos finiamo in bellezza il 2020
    grazie

+ Rispondi al messaggio
Pagina 2 di 4 primaprima 1234 ultimoultimo

Potrebbero interessarti anche ...

  1. Impedire accesso ad internet
    Da sistemista nel forum Microsoft Windows
    Risposte: 14
    Ultimo Post: 10-05-2018, 12:20
  2. [Freenas] accesso da internet
    Da dragone bianco nel forum Networking e sicurezza
    Risposte: 10
    Ultimo Post: 02-12-2011, 22:08
  3. Accesso tramite ssh ad un sito web
    Da artemis79 nel forum Networking e sicurezza
    Risposte: 3
    Ultimo Post: 19-01-2011, 10:20
  4. Accesso internet
    Da richmond89 nel forum Networking e sicurezza
    Risposte: 27
    Ultimo Post: 17-12-2009, 13:03
  5. Accesso ad Internet
    Da The Revolution nel forum Microsoft Windows
    Risposte: 5
    Ultimo Post: 17-09-2006, 21:26