Sapere se un indirizzo web è valido: differenze tra le versioni
Vai alla navigazione
Vai alla ricerca
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
| Riga 42: | Riga 42: | ||
Mostriamo un semplice esempio: | Mostriamo un semplice esempio: | ||
Public Struct hostent | |||
h_name As Pointer | |||
h_aliases As Pointer | |||
h_addrtype As Integer | |||
h_length As Integer | |||
h_addr_list As Pointer | |||
End Struct | |||
Library "libsnmp:30.0.2" | Library "libsnmp:30.0.2" | ||
| Riga 51: | Riga 60: | ||
'''Public''' Sub Main() | '''Public''' Sub Main() | ||
Dim hos As | Dim hos As New Hostent | ||
Dim idn As String | Dim idn As String | ||
| Riga 61: | Riga 70: | ||
Else | Else | ||
Print "Ping: host "; Quote(idn); " valido\n" | Print "Ping: host "; Quote(idn); " valido\n" | ||
Print "Nome ufficiale dell'host:";; String | Print "Nome ufficiale dell'host:";; String@(hos.h_name) | ||
Print "Nome alias:";; String | Print "Nome alias:";; String@(Pointer@(hos.h_aliases) | ||
Endif | Endif | ||
'''End''' | '''End''' | ||
Versione delle 08:00, 19 ott 2015
Per sapere se una URL è valida, e quindi esistente, si possono utilizzare almeno due modalità.
Uso delle sole risorse di Gambas con il componente gb.qt4.webkit
Volendo utilizzare le sole risorse di Gambas, un possibile codice sarebbe ad esempio il seguente, che prevede sia attivato preliminarmente il componente gb.qt4.webkit e fa uso dell'oggetto WebView:
Public Sub Main()
WebView1.Url = "http://www.gambas-it.org"
While WebView1.Progress < 1.0
Wait 0.01
Wend
' Se la proprietà ".HTML" dell'oggetto "WebView" ha conservato la sua stringa predefinita di Tag html, allora la URL non è valida:
If WebView1.HTML = "<html><head></head><body></body></html>" Then
Print "La URL non esiste !"
Else
Print "La URL esiste."
Endif
End
Un'altra modalità con l'uso delle sole risorse di Gambas, attivando in particolare, come nell'esempio precedente, il componente gb.qt4.webkit:
Public Sub Main()
WebView1.Url = "http://www.gambas-it.org"
While WebView1.Progress < 1.0
Wait 0.01
Wend
' Se la proprietà ".Text" dell'oggetto "WebView" è nulla, allora la URL molto probbilmente non è valida:
If WebView1.Text = Null Then Print "La URL no existe."
End
Uso della libreria esterna libsnmp.so.30.0.2
Questa'altra modalità fa uso della funzione esterna gethostbyname() contenuta dalla libreria libsnmp.so.30.0.2, che pertanto andrà richiamata nell'applicazione Gambas.
Mostriamo un semplice esempio:
Public Struct hostent
h_name As Pointer
h_aliases As Pointer
h_addrtype As Integer
h_length As Integer
h_addr_list As Pointer
End Struct
Library "libsnmp:30.0.2"
' struct hostent *gethostbyname(const char *name)'
' Returns a structure of type hostent for the given host name.
Private Extern gethostbyname(idn As String) As Pointer
Public Sub Main()
Dim hos As New Hostent
Dim idn As String
idn = "www.yahoo.ex"
hos = gethostbyname(idn)
If IsNull(hos) Then
Print "ping: host sconosciuto";; Quote(idn)
Else
Print "Ping: host "; Quote(idn); " valido\n"
Print "Nome ufficiale dell'host:";; String@(hos.h_name)
Print "Nome alias:";; String@(Pointer@(hos.h_aliases)
Endif
End