Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    [VB2010] Submit form con web client

    Ciao,
    dovrei effettuare il submit di un form utilizzando un web client.
    ho provato il seguente codice
    codice:
    Dim web As New System.Net.WebClient()
      
    Public Sub Prova()
            Try
                web.Headers.Add("Content-Type", "application/x-www-form-urlencoded")
                Dim d As Byte() = System.Text.Encoding.ASCII.GetBytes("username=" & Utente & "&password=" & Password)
                Dim res As Byte() = web.UploadData(https://urlaction, "POST", d)
                Dim s As String
                s = System.Text.Encoding.ASCII.GetString(res)
                Console.WriteLine(s)
            Catch ex As Exception
                Debug.Print(ex.Message)
            End Try
           End Sub
    oppure
    codice:
    Dim WebClient As New WebClient()
       
    Public Sub Authenticate(username As String, password As String)
            Dim data As New NameValueCollection()
     
            data.Add("username", username)
            data.Add("password", password)
     
            Dim res As Byte() = WebClient.UploadValues(("https://urlaction"), data)
            Dim s As String
            s = System.Text.Encoding.ASCII.GetString(res)
            Console.WriteLine(s)
           End Sub
    ma mi stampa sulla console il codice HTML della pagina come se facessi il submit senza indicare nessun valore.

    Dove sbaglio?

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2014
    residenza
    Vicenza
    Messaggi
    318
    C'è un motivo particolare per il quale stai usando WebClient ??
    Io questo problema lo vedrei meglio se tu usassi un WebBrowser

    Sergio

  3. #3
    Ciao!
    Si purtroppo si tratta di un'applicazione console, non ho interfaccia grafica e quindi nada webbrowser

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2014
    residenza
    Vicenza
    Messaggi
    318
    Invece che usare WebClient potresti usare WebRequest perchè così riesci a controllare meglio quello che succede

    codice:
    Dim request As HttpWebRequest = DirectCast(WebRequest.Create("https://urlaction"), HttpWebRequest)
    
    request.Method = "POST"
    
    Dim postData As String = "username=pippo&password=pluto"
    Dim byteArray As Byte() = ASCIIEncoding.ASCII.GetBytes(postData)
    
    request.ContentType = "application/x-www-form-urlencoded"
    request.ContentLength = byteArray.Length
    
    Dim dataStream As Stream = request.GetRequestStream()
    dataStream.Write(byteArray, 0, byteArray.Length)
    dataStream.Close()
    
    ' Get the response.
    Dim response As WebResponse = request.GetResponse()
    dataStream = response.GetResponseStream()
    
    Dim reader As New StreamReader(dataStream)
    Dim responseFromServer As String = reader.ReadToEnd()
    Console.WriteLine(responseFromServer)
    
    reader.Close()
    dataStream.Close()
    response.Close()
    Comunque secondo me non funziona perchè stai chiamando un https (invece che il classico http) e quindi dovresti dare un'occhiata su come abilitare il protocollo SSL

    Sergio

  5. #5
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    Se non sbaglio puoi usare anche la nuova classe HttpClient.

  6. #6
    Vi chiedo se io volessi inviare un url con textbox come dovrei fare? ho provato con
    codice:
    Dim postData As String = "username=pippo&password=pluto" + textbox1.text
    ma in questo caso poi non risulto loggato.

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Quote Originariamente inviata da kenshiro81 Visualizza il messaggio
    Vi chiedo se io volessi inviare un url con textbox come dovrei fare? ho provato con
    codice:
    Dim postData As String = "username=pippo&password=pluto" + textbox1.text
    ma in questo caso poi non risulto loggato.
    La spedizione in chiaro di utenza e password non mi pare molto consigliabile ...

    A meno che non sia un keylogger fatto in casa ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    Quote Originariamente inviata da oregon Visualizza il messaggio
    La spedizione in chiaro di utenza e password non mi pare molto consigliabile ...

    A meno che non sia un keylogger fatto in casa ...
    Non è un keylogger ma devo semplice loggarmi in automatico,ed avere una risposta dopo aver inviato un url dalla textbox

  9. #9
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    Devi usare un cookiecontainer per memorizzare il cookie di autenticazione.

  10. #10
    Quote Originariamente inviata da cassano Visualizza il messaggio
    Devi usare un cookiecontainer per memorizzare il cookie di autenticazione.
    Dove inserisco il cookie?
    codice:
    Dim tempCookies As New CookieContainer

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.