Vorrei sapere come e quale controllo potrei usare per collegarmi ad un url e analizzare il codice html della pagina trovata (per esempio cercare una determinata stringa all'interno di essa).
Grazie per le risposte
Se ti è possibile cerca di utilizzare meno controlli possibili perchè...primo l'exe + grosso e secondo devi mandare sempre i file che di solito il pc senza VB nn ha....
...detto questo ci vengono in aiuto le funzioni API :D
Private Const IF_NO_CACHE_WRITE = &H4000000
Private Const BUFFER_LEN = 256
Private Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
Private Declare Function InternetOpenUrl Lib "wininet.dll" Alias "InternetOpenUrlA" (ByVal hInternetSession As Long, ByVal sURL As String, ByVal sHeaders As String, ByVal lHeadersLength As Long, ByVal lFlags As Long, ByVal lContext As Long) As Long
Private Declare Function InternetReadFile Lib "wininet.dll" (ByVal hFile As Long, ByVal sBuffer As String, ByVal lNumBytesToRead As Long, lNumberOfBytesRead As Long) As Integer
Private Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInet As Long) As Integer
Public Function GetURLSource(sURL As String) As String
Dim sBuffer As String * BUFFER_LEN
Dim sData As String
Dim lInternet As Long
Dim lSession As Long
Dim lReturn As Long
DoEvents
'prendo l'handle della connessione corrente
lSession = InternetOpen("vb wininet", 1, vbNullString, vbNullString, 0)
'prendo l'handle dell'URL
If lSession Then
lInternet = InternetOpenUrl(lSession, sURL, vbNullString, 0, IF_NO_CACHE_WRITE, 0)
End If
'se c'è l'handle dell'URL passo alla lettura della pagina
If lInternet Then
Call InternetReadFile(lInternet, sBuffer, BUFFER_LEN, lReturn)
sData = sBuffer
Do While lReturn <> 0
Call InternetReadFile(lInternet, sBuffer, BUFFER_LEN, lReturn)
sData = sData + Mid$(sBuffer, 1, lReturn)
Loop
End If
'chiudo l'URL
Call InternetCloseHandle(lInternet)
GetURLSource = sData
End Function
Una volta che ti sei scaricato la pagina nella varibile usa pure la funzione InStr per cercare dentro...:p
ciaooooooooooooooo :)
Azz... non riesco ad ottenere un risultato.
Mi potresti dare qualche info in + su come utillizzarla?
tnx
Oppure utilizza il controllo di trasferimento internet 8da aggiungere nel progetto aprendo la finestra componenti e selezionando "Microsoft internet transfer protocol 6.0").
Un esempio?
' Il controllo casella di testo Text1 contiene il
' risultato del metodo. Il nome del controllo
' trasferimento Internet è Inet1.
Text1.Text = Inet1.OpenURL("http://www.microsoft.com")
Ed in Text1 compare il codice html della pagina...
Aloha!
Originariamente inviato da ASyd
Azz... non riesco ad ottenere un risultato.
Mi potresti dare qualche info in + su come utillizzarla?
tnx
Come ho già detto..meno controli usi e meno è grosso il tuo pacchetto....
Quella funzione è fatta cosi è funziona....cos'è che ti da problemi?
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.