Sapere se un indirizzo web è valido

Da Gambas-it.org - Wikipedia.

Per sapere se una URL è valida, e quindi esistente, si può utilizzare la funzione esterna "gethostbyname()" contenuta dalla libreria libsnmp.so.40.1.0, che pertanto andrà richiamata nell'applicazione Gambas.

Mostriamo un semplice esempio:

Library "libsnmp:40.1.0"

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 Pointer


Public Sub Main()
 
 Dim host As Hostent
 Dim idn As String
 Dim p As Pointer
 
' Impostiamo il nome di un host inesistente, quindi non valido:
 idn = "www.yahoo.ex"
  
 p = gethostbyname(idn)
 If p = 0 Then
   Print "ping: host sconosciuto", Quote(idn)
 Else
   host = p
   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))
 Endif

End