Voulez-vous apprendre à faire des requêtes GET dans Node.js ? Si oui, vous êtes au bon endroit. Dans cet article de blog, je vais vous montrer comment utiliser le module intégré http
et la bibliothèque populaire axios
pour faire des requêtes GET dans Node.js. Je vais également expliquer ce que sont les requêtes GET, pourquoi elles sont importantes et comment gérer les données de réponse. À la fin de cet article, vous serez capable de faire des requêtes GET dans Node.js comme un pro.
Qu'est-ce qu'une requête GET ?
Une requête GET est l'un des types de requêtes HTTP les plus courants. HTTP signifie Hypertext Transfer Protocol, qui est le protocole standard pour la communication entre les navigateurs Web et les serveurs Web. Les requêtes HTTP sont des messages que les navigateurs Web envoient aux serveurs Web pour demander ou soumettre des données. Les réponses HTTP sont des messages que les serveurs Web renvoient aux navigateurs Web pour fournir les données demandées ou confirmer la soumission.
Une requête GET est un type de requête HTTP qui demande au serveur Web de renvoyer une ressource spécifique. Par exemple, lorsque vous tapez une URL dans votre navigateur Web, vous faites une requête GET au serveur Web pour qu'il vous envoie la page Web associée à cette URL. Une requête GET peut également inclure des paramètres de requête, qui sont des paires clé-valeur qui fournissent des informations supplémentaires ou filtrent la ressource demandée. Par exemple, lorsque vous recherchez quelque chose sur Google, vous faites une requête GET au serveur Web de Google avec des paramètres de requête qui spécifient votre terme de recherche, votre langue et d'autres options.
Pourquoi les requêtes GET sont-elles importantes ?
Les requêtes GET sont importantes car elles constituent le principal moyen de récupérer des données auprès des serveurs Web. Vous pouvez utiliser les requêtes GET pour accéder à différents types de données, tels que HTML, JSON, XML, images, vidéos, etc. Vous pouvez également utiliser les requêtes GET pour interagir avec les API Web, qui sont des interfaces qui vous permettent d'accéder aux données et aux services d'autres applications Web. Par exemple, vous pouvez utiliser les requêtes GET pour obtenir des informations météorologiques à partir de l'API OpenWeatherMap, obtenir des informations sur les films à partir de l'API IMDb ou obtenir des images de chiens à partir de l'API Dog.
Les requêtes GET sont également importantes car elles sont faciles à utiliser et à tester. Vous pouvez faire des requêtes GET en utilisant n'importe quel navigateur Web, sans outils ni bibliothèques spéciaux. Vous pouvez également utiliser des outils comme Postman ou Apidog pour faire et tester des requêtes GET avec différents paramètres et en-têtes. Vous pouvez également inspecter les données de réponse et les en-têtes à l'aide des outils de développement du navigateur ou de l'interface de l'outil.
Qu'est-ce que NodeJs ?
Node.js est un environnement d'exécution JavaScript qui vous permet d'exécuter du code JavaScript en dehors d'un navigateur Web. Node.js est basé sur le moteur JavaScript Google Chrome V8 et il est utilisé pour créer des applications Web, en particulier celles qui sont gourmandes en données et en temps réel. Node.js dispose également d'une grande bibliothèque de modules et de packages que vous pouvez utiliser pour ajouter des fonctionnalités à vos projets. Certains des avantages de Node.js sont :
- Il est rapide et évolutif, grâce à sa nature asynchrone et basée sur les événements.
- Il est multiplateforme et open source, ce qui signifie que vous pouvez l'exécuter sur divers systèmes d'exploitation et contribuer à son développement.
- Il est cohérent et unifié, car vous pouvez utiliser le même langage pour le front-end et le back-end de votre application Web.

Comment faire une requête GET dans Node.js en utilisant le module http
?
Node.js est un environnement d'exécution JavaScript qui vous permet d'exécuter du code JavaScript en dehors du navigateur Web. Node.js est souvent utilisé pour créer des serveurs Web, des applications Web et des API Web. Node.js fournit également un module http
intégré qui vous permet de faire des requêtes et des réponses HTTP.
Pour faire une requête GET dans Node.js en utilisant le module http
, vous devez suivre ces étapes :
- Importez le module
http
en utilisant la fonctionrequire
. - Créez un objet
options
qui contient les informations sur la requête GET, telles que le nom d'hôte, le port, le chemin et les en-têtes. - Utilisez la méthode
http.get
pour faire la requête GET, en passant l'objetoptions
comme premier argument et une fonction de rappel comme deuxième argument. La fonction de rappel sera exécutée lorsque la réponse sera reçue et elle aura un objetresponse
comme paramètre. - Utilisez l'objet
response
pour gérer les données de réponse et les en-têtes. L'objetresponse
est une instance de la classehttp.IncomingMessage
, qui implémente l'interfaceReadableStream
. Cela signifie que vous pouvez utiliser l'objetresponse
comme un flux de données et écouter des événements commedata
,end
eterror
. Vous pouvez également utiliser la propriétéresponse.statusCode
pour obtenir le code d'état de la réponse et la propriétéresponse.headers
pour obtenir les en-têtes de la réponse. - Utilisez la méthode
response.on
pour enregistrer des écouteurs d'événements pour l'objetresponse
. Par exemple, vous pouvez utiliser la méthoderesponse.on('data', callback)
pour écouter l'événementdata
, qui sera émis lorsqu'un bloc de données sera reçu. La fonction de rappel aura un objetchunk
comme paramètre, qui est un tampon de données. Vous pouvez utiliser la méthodechunk.toString()
pour convertir le tampon en chaîne et l'ajouter à une variable pour stocker toutes les données de réponse. Vous pouvez également utiliser la méthoderesponse.on('end', callback)
pour écouter l'événementend
, qui sera émis lorsque la réponse sera terminée. La fonction de rappel n'aura aucun paramètre et vous pouvez l'utiliser pour effectuer des actions finales, telles que la journalisation ou l'analyse des données de réponse. Vous pouvez également utiliser la méthoderesponse.on('error', callback)
pour écouter l'événementerror
, qui sera émis lorsqu'une erreur se produira pendant la réponse. La fonction de rappel aura un objeterror
comme paramètre et vous pouvez l'utiliser pour gérer l'erreur, comme la journalisation ou le lancement de celle-ci.
Voici un exemple de la façon de faire une requête GET dans Node.js en utilisant le module http
:
// Import the http module
const http = require('http');
// Create an options object
const options = {
hostname: 'api.openweathermap.org',
port: 80,
path: '/data/2.5/weather?q=Los%20Angeles&appid=YOUR_API_KEY',
headers: {
'User-Agent': 'Node.js'
}
};
// Make the GET request
http.get(options, (response) => {
// Initialize a variable to store the response data
let data = '';
// Listen to the data event
response.on('data', (chunk) => {
// Append the chunk to the data variable
data += chunk.toString();
});
// Listen to the end event
response.on('end', () => {
// Log the status code and the headers
console.log(`Status code: ${response.statusCode}`);
console.log(`Headers: ${JSON.stringify(response.headers)}`);
// Parse the data as JSON
const weather = JSON.parse(data);
// Log the weather information
console.log(`City: ${weather.name}`);
console.log(`Temperature: ${weather.main.temp}`);
console.log(`Description: ${weather.weather[0].description}`);
});
// Listen to the error event
response.on('error', (error) => {
// Throw the error
throw error;
});
});
Comment faire une requête GET dans Node.js en utilisant la bibliothèque axios
?
Le module http
est un module de bas niveau qui fournit des fonctionnalités de base pour faire des requêtes et des réponses HTTP. Cependant, si vous souhaitez utiliser un module de niveau supérieur et plus convivial, vous pouvez utiliser la bibliothèque axios
. Axios est une bibliothèque populaire et puissante qui vous permet de faire des requêtes HTTP et de gérer les réponses en utilisant des promesses et la syntaxe async/await. Axios prend également en charge des fonctionnalités telles que les intercepteurs, les transformateurs, les délais d'attente, les jetons d'annulation, etc.
Pour faire une requête GET dans Node.js en utilisant la bibliothèque axios
, vous devez suivre ces étapes :
- Installez la bibliothèque
axios
en utilisant la commandenpm
:npm install axios
. - Importez la bibliothèque
axios
en utilisant la fonctionrequire
. - Utilisez la méthode
axios.get
pour faire la requête GET, en passant l'URL de la ressource comme premier argument et un objetconfig
facultatif comme deuxième argument. L'objetconfig
peut contenir des informations sur la requête GET, telles que les en-têtes, les paramètres, le délai d'attente, etc. La méthodeaxios.get
renverra une promesse, qui se résoudra en un objetresponse
ou rejettera un objeterror
. - Utilisez la méthode
then
pour gérer la promesse résolue, en passant une fonction de rappel comme premier argument. La fonction de rappel aura un objetresponse
comme paramètre, qui contient les données de réponse, le statut, les en-têtes, etc. Vous pouvez utiliser la propriétéresponse.data
pour accéder aux données de réponse et la propriétéresponse.status
pour accéder au code d'état de la réponse. Vous pouvez également utiliser la méthodecatch
pour gérer la promesse rejetée, en passant une fonction de rappel comme premier argument. La fonction de rappel aura un objeterror
comme paramètre, qui contient le message d'erreur, le code, la requête et la réponse. Vous pouvez utiliser la propriétéerror.response
pour accéder à l'objet de réponse et la propriétéerror.request
pour accéder à l'objet de requête. - Alternativement, vous pouvez utiliser la syntaxe
async/await
pour faire la requête GET et gérer la réponse. Pour ce faire, vous devez utiliser le mot-cléasync
avant la fonction qui contient la requête GET et le mot-cléawait
avant la méthodeaxios.get
. Cela vous permettra d'écrire du code asynchrone de manière synchrone et d'affecter l'objetresponse
à une variable. Vous pouvez ensuite utiliser le bloctry/catch
pour gérer les erreurs qui peuvent survenir pendant la requête GET.
Voici un exemple de la façon de faire une requête GET dans Node.js en utilisant la bibliothèque axios
:
// Import the axios library
const axios = require('axios');
// Make the GET request using the then method
axios.get('http://api.openweathermap.org/data/2.5/weather?q=Los%20Angeles&appid=YOUR_API_KEY', {
headers: {
'User-Agent': 'Node.js'
}
}).then((response) => {
// Log the status code and the headers
console.log(`Status code: ${response.status}`);
console.log(`Headers: ${JSON.stringify(response.headers)}`);
// Log the weather information
console.log(`City: ${response.data.name}`);
console.log(`Temperature: ${response.data.main.temp}`);
console.log(`Description: ${response.data.weather[0].description}`);
}).catch((error) => {
// Log the error message and code
console.log(`Error message: ${error.message}`);
console.log(`Error code: ${error.code}`);
// Log the response status and data if available
if (error.response) {
console.log(`Response status: ${error.response.status}`);
console.log(`Response data: ${JSON.stringify(error.response.data)}`);
}
// Log the request method and path if available
if (error.request) {
console.log(`Request method: ${error.request.method}`);
console.log(`Request path: ${error.request.path}`);
}
});
// Make the GET request using the async/await syntax
async function getWeather() {
try {
// Await the GET request and assign the response object to a variable
const response = await axios.get('http://api.openweathermap.org/data/2.5/weather?q=Los%20Angeles&appid=YOUR_API_KEY', {
headers: {
'User-Agent': 'Node.js'
}
});
// Log the status code and the headers
console.log(`Status code: ${response.status}`);
console.log(`Headers: ${JSON.stringify(response.headers)}`);
// Log the weather information
console.log(`City: ${response.data.name}`);
console.log(`Temperature: ${response.data.main.temp}`);
console.log(`Description: ${response.data.weather[0].description}`);
} catch (error) {
// Log the error message and code
console.log(`Error message: ${error.message}`);
console.log(`Error code: ${error.code}`);
// Log the response status and data if available
if (error.response) {
console.log(`Response status: ${error.response.status}`);
console.log(`Response data: ${JSON.stringify(error.response.data)}`);
}
// Log the request method and path if available
if (error.request) {
console.log(`Request method: ${error.request.method}`);
console.log(`Request path: ${error.request.path}`);
}
}
}
// Call the getWeather function
getWeather();
Comment gérer les données de réponse dans Node.js ?
Une fois que vous avez fait une requête GET dans Node.js et reçu la réponse, vous souhaiterez peut-être faire quelque chose avec les données de réponse. Par exemple, vous souhaiterez peut-être afficher les données sur la console, enregistrer les données dans un fichier, analyser les données en tant que JSON ou XML, ou utiliser les données à d'autres fins.
Selon le type et le format des données de réponse, vous devrez peut-être utiliser différentes méthodes et différents modules pour gérer les données. Voici quelques scénarios courants et comment les gérer :
- Si les données de réponse sont une chaîne, vous pouvez simplement utiliser la méthode
console.log
pour afficher les données sur la console, ou la méthodefs.writeFile
pour enregistrer les données dans un fichier. Le modulefs
est un module intégré qui vous permet de travailler avec le système de fichiers dans Node.js. Vous pouvez importer le modulefs
en utilisant la fonctionrequire
et utiliser la méthodefs.writeFile
pour écrire des données dans un fichier, en passant le nom du fichier, les données et une fonction de rappel comme arguments. La fonction de rappel aura un objeterror
comme paramètre et vous pouvez l'utiliser pour gérer les erreurs qui peuvent survenir pendant le processus d'écriture du fichier. - Si les données de réponse sont un tampon, vous pouvez utiliser la méthode
buffer.toString
pour convertir le tampon en chaîne, puis utiliser les mêmes méthodes que ci-dessus pour afficher ou enregistrer les données. Un tampon est un type de données binaires qui représente une séquence d'octets. Les tampons sont souvent utilisés pour gérer des données binaires, telles que des images, des vidéos ou des fichiers compressés. Vous pouvez utiliser la méthodebuffer.toString
pour convertir un tampon en chaîne, en passant un argument d'encodage facultatif pour spécifier le codage de caractères de la chaîne. L'encodage par défaut estutf8
, qui est l'encodage le plus courant pour les données textuelles. - Si les données de réponse sont JSON, vous pouvez utiliser la méthode
JSON.parse
pour analyser les données en tant qu'objet JavaScript, puis utiliser les propriétés et les méthodes de l'objet pour accéder aux données et les manipuler. JSON signifie JavaScript Object Notation, qui est un format standard pour l'échange et le stockage de données. Les données JSON sont une chaîne qui suit une syntaxe spécifique, qui se compose de paires clé-valeur entre accolades et de tableaux entre crochets. Vous pouvez utiliser la méthodeJSON.parse
pour analyser une chaîne JSON en tant qu'objet JavaScript, en passant la chaîne JSON comme argument. La méthode renverra un objet JavaScript que vous pourrez utiliser comme n'importe quel autre objet. - Si les données de réponse sont XML, vous pouvez utiliser la bibliothèque
xml2js
pour analyser les données en tant qu'objet JavaScript, puis utiliser les propriétés et les méthodes de l'objet pour accéder aux données et les manipuler. XML signifie Extensible Markup Language, qui est un autre format standard pour l'échange et le stockage de données. Les données XML sont une chaîne qui suit une syntaxe spécifique, qui se compose d'éléments entre balises, d'attributs entre guillemets et de contenu textuel. La bibliothèquexml2js
est une bibliothèque tierce qui vous permet de convertir des données XML en objets JavaScript et vice versa. Vous pouvez installer la bibliothèquexml2js
en utilisant la commandenpm
:npm install xml2js
. Vous pouvez importer la bibliothèquexml2js
en utilisant la fonctionrequire
et utiliser la méthodexml2js.parseString
pour analyser une chaîne XML en tant qu'objet JavaScript, en passant la chaîne XML et une fonction de rappel comme arguments. La fonction de rappel aura un objeterror
et un objetresult
comme paramètres et vous pourrez les utiliser pour gérer les erreurs ou accéder à l'objet analysé.
Comment tester la requête HTTP GET NodeJs en utilisant Apidog ?
Pour tester la requête HTTP Get en utilisant Apidog, vous devez suivre ces étapes simples :
- Ouvrez Apidog et cliquez sur le bouton "New Request" pour créer une nouvelle requête.

2. Sélectionnez "GET" comme méthode de la requête.

3. Entrez l'URL du point de terminaison de l'API

Cliquez ensuite sur le bouton "Envoyer" pour envoyer la requête à l'API.

Comme vous pouvez le constater, Apidog vous montre l'URL, les paramètres, les en-têtes et le corps de la requête, ainsi que le statut, les en-têtes et le corps de la réponse. Vous pouvez également voir le temps de réponse, la taille et le format de la requête et de la réponse, et les comparer avec différentes API Web.
Conclusion
Dans cet article de blog, je vous ai montré comment faire des requêtes GET dans Node.js en utilisant le module http
et la bibliothèque axios
. Je vous ai également montré comment gérer les données de réponse dans différents formats et scénarios. J'espère que vous avez appris quelque chose d'utile et que vous avez aimé lire cet article.
Merci de votre lecture et bon codage !