Javascript, HTML, CSS e... !
0 commenti

Con solo 10 righe di codice

Creare un servizio Whois con una chiamata in GET in Google Apps Script

Al fine di mostrare la semplicità con la quale è possibile effettuare una chiamata GET in Google Apps Script, approfitto per illustrare, con solo 10 righe di codice, come sia possibile creare un servizio Whois utilizzabile da web.

I servizi Whois sono quelli che consentono, inserendo il nome di un dominio che ad esempio ci interessa acquistare, di effettuare una ricerca in specifici database con lo scopo di recuperare le relative informazioni di registrazione per sapere se è un dominio disponibile o già acquistato da qualcuno.

Uno dei più noti servizi Whois è web-whois.nic.it, tuttavia, se volessimo crearne uno da poter inserire nel proprio sito o servizio web ci viene incontro un'API opensurce (A free WHOIS API) che restituisce il risultato della chiamata in formato JSON con le relative informazioni di registrazione.

Lo script funzionante in Google Apps Script si riduce alle seguenti righe di codice:

function getWhoisResponse() {
  var domain = 'michelepisani.it';
  var response = UrlFetchApp.fetch('http://whoiz.herokuapp.com/lookup.json?url=' + domain);
  var rc = response.getResponseCode();
  if (rc !== 200) {
    throw new Error(response.message);
    return;
  }  
  Logger.log(response);
}

Un estratto del risultato, in formato JSON, è il seguente:

{
  "disclaimer": "",
  "domain": "michelepisani.it",
  "domain_id": null,
  "referral_whois": null,
  "referral_url": null,
  "status": "registered",
  "available?": false,
  "registered?": true,
  "created_on": "2013-06-26 16:23:19 +0000",
  "updated_on": "2017-07-12 00:56:12 +0000",
  "expires_on": "2018-06-26 00:00:00 +0000",
  "registrar": {
    "id": "OVH-REG",
    "name": "OVH-REG",
    "organization": "OVH",
    "url": null
  },
  "registrant_contacts": [
    {
      "id": null,
      "type": 1,
      "name": null,
      "organization": "Michele Pisani",
      ....
    }
  ],
  "admin_contacts": [
    {
      "id": null,
      "type": 2,
      "name": "Michele Pisani",
      "organization": "Michele Pisani",
      ....
    }
  ],
  "technical_contacts": [
    {
      "id": null,
      "type": 3,
      "name": "Michele Pisani",
      "organization": null,
      ...
    }
  ],
  "nameservers": [
    {
      "name": "dns105.ovh.net",
      "ipv4": null,
      "ipv6": null
    },
    {
      "name": "ns105.ovh.net",
      "ipv4": null,
      "ipv6": null
    }
  ]
}

Le informazioni ottenute (stato, disponibilità, data di creazione, data di scadenza, contatti tecnici, ecc...) sono proprio quelle mostrate dai servizi specifici, Fig. 1, come quello menzionato a inizio articolo:



risultato della chiamata ad un servizio whois

Fig. 1 - Risultato della chiamata ad un servizio Whois per confronto con il JSON in risposta all'API opensource


Ovviamente il codice proposto, essendo al mero scopo illustrativo, visualizza semplicemente la risposta nel Log dell'interfaccia di Apps Script e costringe l'url ad essere modificato manualmente, ma è possibile creare un'interfaccia con un form che richiede l'immissione del nome a dominio in una textbox e, in modo asincrono o tramite un bottone, effettuare la chiamata alla API e visualizzare la risposta in pagina in un formato più leggibile, a tale scopo potrebbe essere utile capire come 'Recuperare i valori dei campi di input in un Form in Google Apps Script'.

Tags

Michele Pisani

Michele Pisani

Sviluppatore Javascript ed esperto in Digital Analytics

L'esperienza nel settore Digital Analytics unita ad anni di sviluppo in Javascript ha trovato la massima espressione in Google Apps Script che mi ha permesso, con estrema facilità e poche righe di codice, di realizzare potenti applicazioni interattive e processi automatizzati integrati con i prodotti della G Suite.

Come contattarmi
scrivi un commento

0 Commenti

Non ci sono commenti

Nessuno ha ancora commentato questo articolo, fallo tu per primo!

scrivi un commento

Scrivi un commento

Il tuo indirizzo email non sarà pubblicato.I campi contrassegnati da un * sono obbligatori
Puoi utilizzare i seguenti tag nei commenti:
[bold]testo[/bold] se vuoi evidenziare un testo con il grassetto[code]function helloworld() { }[/code] se vuoi pubblicare una porzione di codice[url]http://www.appsscript.it[/url] se devi riferirti ad un indirizzo web