Differenze tra le versioni di "Sapere se un indirizzo web è valido"
Da Gambas-it.org - Wikipedia.
(2 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 21: | Riga 21: | ||
Dim host As Hostent | Dim host As Hostent | ||
Dim idn As String | Dim idn As String | ||
− | + | ||
− | <FONT Color=gray>' ''Impostiamo il nome di un host | + | <FONT Color=gray>' ''Impostiamo il nome di un host esistente, quindi valido:''</font> |
− | idn = "www. | + | idn = "www.gambas-it.org" |
host = gethostbyname(idn) | host = gethostbyname(idn) | ||
− | + | ||
− | + | Print "Ping: host "; Quote(idn); " valido\n" | |
− | + | Print "Nome ufficiale dell'host: "; String@(host.h_name) | |
− | + | Print "Nome alias dell'host: "; String@(Pointer@(host.h_aliases)) | |
− | + | Print "Indirizzo IP dell'host: "; String@(Pointer@(host.h_addr_list) + 32) | |
− | |||
− | |||
− | |||
End | End | ||
+ | Se l'host è inesistente, sarà sollevato un errore di segmentazione (11). |
Versione attuale delle 09:10, 20 gen 2024
Per sapere se una URL è valida, e quindi esistente, si può utilizzare la funzione esterna "gethostbyname()" contenuta dalla libreria condivisa: "libc.so.6 ".
Mostriamo un semplice esempio:
Library "libc:6" 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 ' struct hostent *gethostbyname(const char *name)' ' Returns a structure of type hostent for the given host name. Private Extern gethostbyname(idn As String) As Hostent Public Sub Main() Dim host As Hostent Dim idn As String ' Impostiamo il nome di un host esistente, quindi valido: idn = "www.gambas-it.org" host = gethostbyname(idn) Print "Ping: host "; Quote(idn); " valido\n" Print "Nome ufficiale dell'host: "; String@(host.h_name) Print "Nome alias dell'host: "; String@(Pointer@(host.h_aliases)) Print "Indirizzo IP dell'host: "; String@(Pointer@(host.h_addr_list) + 32) End
Se l'host è inesistente, sarà sollevato un errore di segmentazione (11).