Ces dernières années, la technologie de développement front-end s'est développée rapidement et l'étendue des responsabilités des développeurs front-end est devenue de plus en plus étendue. En plus des langages HTML, CSS et JavaScript courants, les développeurs front-end doivent également maîtriser certaines compétences en développement back-end, telles que Node.js.
Node.js est un environnement d'exploitation open source multiplateforme basé sur le langage JavaScript, qui peut exécuter JavaScript côté serveur. Il utilise un modèle d'E/S non bloquant et piloté par les événements et prend en charge la transmission de données en temps réel. Par conséquent, dans le cadre du modèle de développement moderne de séparation du front-end et du back-end, Node.js est devenu une compétence essentielle pour les développeurs front-end.
Dans Node.js, envoyer des requêtes HTTP à d'autres serveurs n'est pas seulement une opération courante, mais aussi l'un des modules de base officiellement fournis, le module "http". Ce module fournit des fonctions pour implémenter les requêtes client HTTP et côté serveur HTTP (c'est-à-dire le serveur HTTP de Node.js).
Dans cet article, nous expliquerons comment utiliser le module « http » de Node.js pour envoyer des requêtes HTTP à d'autres serveurs.
http.request(options[, callback])
Cette méthode renvoie un objet http.ClientRequest. options est un objet contenant les propriétés suivantes :
callback est une fonction appelée lorsqu'une réponse est reçue du serveur.
Dans l'exemple suivant, nous envoyons une requête GET à jsonplaceholder.typicode.com et renvoyons les détails d'un article de blog :
const http = require('http') const options = { hostname: 'jsonplaceholder.typicode.com', path: '/posts/1', method: 'GET' } const req = http.request(options, (res) => { console.log(`状态码: ${res.statusCode}`) res.on('data', (data) => { console.log(`响应主体: ${data}`) }) res.on('end', () => { console.log('响应中已无数据。') }) }) req.on('error', (error) => { console.error(`请求遇到问题: ${error}`) }) req.end()
Dans cet exemple, un objet http.ClientRequest est créé et un GET est envoyé au serveur. Requête, spécifiant les données au format JSON. Lorsqu'une réponse est reçue du serveur, imprimez le code d'état de la réponse et le corps de la réponse.
http.get(options[, callback])
Cette méthode est similaire à la méthode http.request(), mais elle ne peut implémenter que des requêtes GET .
Dans l'exemple ci-dessous, nous utilisons la méthode http.get() pour envoyer une requête GET au même serveur :
const http = require('http') http.get('http://jsonplaceholder.typicode.com/posts/1', (res) => { console.log(`状态码: ${res.statusCode}`) res.on('data', (data) => { console.log(`响应主体: ${data}`) }) res.on('end', () => { console.log('响应中已无数据。') }) }).on('error', (error) => { console.error(`请求遇到问题: ${error}`) })
Dans cet exemple, nous utilisons la méthode http.get() pour envoyer une requête GET au jsonplaceholder Requête GET du serveur .typicode.com, et lorsque la réponse est reçue du serveur, imprimez le code d'état de la réponse et le corps de la réponse.
En plus du module "http" fourni par Node.js, il existe également des bibliothèques de requêtes, comme request et axios. Ces bibliothèques ont des fonctionnalités plus avancées, prennent en charge les promesses, gèrent les redirections et les erreurs, etc.
Dans l'exemple suivant, nous utilisons la bibliothèque de requêtes pour envoyer une requête GET au serveur jsonplaceholder.typicode.com :
const request = require('request') request('http://jsonplaceholder.typicode.com/posts/1', (error, response, body) => { console.log(`状态码: ${response.statusCode}`) console.log(`响应主体: ${body}`) })
Dans cet exemple, nous utilisons la bibliothèque de requêtes pour envoyer une requête GET au serveur jsonplaceholder.typicode.com serveur, et dans Imprime le code d'état de la réponse et le corps de la réponse lorsque la réponse est reçue du serveur.
Résumé
Cet article explique comment utiliser le module « http » de Node.js pour envoyer des requêtes HTTP à d'autres serveurs. Les opérations de requête de base peuvent être implémentées à l'aide des méthodes http.request() et http.get(), et les bibliothèques de requêtes (telles que request et axios) peuvent prendre en charge des fonctionnalités plus avancées. Les développeurs peuvent choisir différentes manières d'implémenter les opérations de requête HTTP en fonction de leurs propres besoins et habitudes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!