View Full Version : [ Vb.NET 2008 ] Web e Metodi POST - Genymus
Salve a tutti...
Devo interfacciare la mia applicazione con il Web più precisamente su una pagina in php tramite metodo post... mi spiego meglio:
1] la mia applicazione si connette alla pagina php (Es: "http://www.miosito.ext/pagina.php");
2] invia una stringa tramite metodo post (Es: text=prova);
3] la mia applicazione visualizza l'html creato dalla pagina in php;
Ho provato usando il WebBrowser del .NET Framework ma non riesco a capire come inviare le informazioni tramite metodo POST...
guardando su internet ho trovato una guida su come utilizzare l'activex di internet explorer con il costruttore Navigate2 che purtroppo non riesco a far funzionare...
Spero che qualcuno risponda...
Grazie anticipatamente.
Genymus
Ho dimenticato di dire che non vorrei controllare e compilare form html con input e botton sulla pagina, ma preferirei inviare la stringa "POST" direttamente.
Grazie ancora.
tomminno
15-06-2010, 13:38
Puoi usare il metodo Navigate a cui passare url e dati in post.
ma sul web browser mi dice che posso passare solo url e non posso passare altri argomenti... puoi essere più preciso?
Grazie
tomminno
15-06-2010, 22:33
Il metodo è questo: http://msdn.microsoft.com/en-us/library/ms161356.aspx
Ok ha funzionato... Grazie Mille.
Posterò una soluzione pratica in modo che chi ha o potrà avere il mio stesso problema lo possa risolvere facilmente.
tomminno
15-06-2010, 23:11
Ok... ma non riesco a capire come integrare il webbrowser.
Quello della barra degli strumenti non mi permette di inserire tutti quei parametri.
Quello è un metodo che devi richiamare via codice.
Potresti postare un pò di codice? Perchè così alla cieca è difficile darti indicazioni.
Miniguida di base su come inviare informazioni tramite il controllo WebBrowser e il metodo POST:
Ps1: Il codice postato è perfettamente funzionante.
Ps2: La prima parte del codice è commentata.
Ps3: Il codice è stato provato con "Visual Studio 2008 Visual Basic .NET" ed ".NET Framework 2.0/3.5"
Controlli Totali:
1 - WebBrowser - [Nome: Web ]
1 - Bottone [ Nome: Naviga ]
Sulla parte di codice (prima del "Public Class") aggiungere il seguente codice:
Imports System.Text
Sull'evento click del bottone inserire il seguente codice:
Dim Url, PostData, Headers As String
Dim byteArray As Byte()
Url = "http://" 'Inserire l'url della pagina [Es: http://www.miosito.ext/pagina.php]
PostData = "var=text" 'Inserire le informazioni da inviare [Es: Variabile=Prova]
byteArray = Encoding.ASCII.GetBytes(PostData) 'Questa funzione serve a convertire i dati in byte (Non Modificare)
Headers = "Content-Type: application/x-www-form-urlencoded" & vbCrLf 'Questo dichiara gli headers (Modificare solo se necessario)
Web.Navigate(Url, "", byteArray, Headers) ' Tramite questo controllo si inviano le informazioni... il secondo parametro corrisponde al "targetFrameName"
Riepilogando l'intero codice dovrebbe apparire così:
Imports System.Text
Public Class MioProgetto
Private Sub Naviga_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Naviga.Click
Dim Url, PostData, Headers As String
Dim byteArray As Byte()
Url = "http://www.miosito.ext/pagina.php"
PostData = "Variabile=Prova"
byteArray = Encoding.ASCII.GetBytes(PostData)
Headers = "Content-Type: application/x-www-form-urlencoded" & vbCrLf
Web.Navigate(Url, "", byteArray, Headers)
End Sub
End Class
Per ulteriori informazioni rimando (come postato da tomminno) al link su msdn:
http://msdn.microsoft.com/en-us/library/ms161356.aspx
Un ringraziamento a "tomminno" per l'aiuto.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.