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

Errore DNS per l'indirizzo http://undefined

DNS error: http://undefined

In Google Apps Script non è possibile chiamare una funzione in modo globale, ovvero, le funzioni devono essere chiamate da comandi che si trovano all'interno della stessa o di un'altra funzione. Con un esempio cercherò di chiarire questo discorso contorto se pur semplice concettualmente.

Un comando di chiamata di una funzione direttamente dal corpo dello script (nel tentativo vano, con questo approccio, di eseguire una funzione all'apertura dello script), come nell'esempio seguente, genererà l'errore 'DNS error: http://undefined' (Fig. 1), come se il parametro della funzione chiamante non venisse rilevato e quindi non passato alla funzione che si intende chiamare:

function myFunction(url){
  var result = UrlFetchApp.fetch(url);
  return result;
}

result = myFunction("http://www.michelepisani.it");

Di seguito uno screenshot dell'errore che sarà restituito dall'editor di script:



DNS error: http://undefined

Fig. 1 - DNS error: http://undefined


Come anticipato, per poter funzionare, è necessario inserire la chiamata alla funzione all'interno di una funzione definita e a quel punto, se si intende eseguire quel comando all'avvio dello script si dovrà inserire la chiamata desiderata all'interno di una funzione doGet o doPost in caso di web app o impostare la funzione contenente la chiamata come quella di partenza tramite un trigger nel caso di applicazioni standalone, come nel codice di esempio seguente:

function myFunction(url) {
  var result = UrlFetchApp.fetch(url);
  return result;
}

function startFunction() {
  result = myFunction("http://www.michelepisani.it");
  Logger.log(result);
}

L'errore non è bloccante, ovvero continueranno ad essere eseguite le righe successive dello script (quantomeno fino a che non verrà generato un altro tipo di errore causato dalla mancata risposta della precedente chiamata all'indirizzo 'undefined').

Nel caso in cui il messaggio di errore dovesse mostrare l'url al quale si sta tentando di accedere, come ad esempio "DNS error: http://ws.test.it/" (Fig. 2), significa che c'è un effettivo problema con quell'indirizzo:



DNS error: http://ws.test.it

Fig. 1 - DNS error: http://ws.test.it - nome a dominio inesistente utilizzato come esempio per la generazione dell'errore


Molto probabilmente, in questo caso, c'è un errore di digitazione nel nome a dominio o il nome a dominio non esiste. Se provate infatti a digitare 'http://ws.test.it/' nella barra degli indirizzi del browser (almeno fino a quando il proprietario di test.it non crei un terzo livello come quello che ho utilizzato nell'esempio) la risposta che otterete sarà 'Impossibile trovare l'indirizzo DNS del server ws.test.it'.

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