Maison  >  Article  >  interface Web  >  Comment demander d'autres serveurs dans nodejs

Comment demander d'autres serveurs dans nodejs

PHPz
PHPzoriginal
2023-04-26 09:06:24774parcourir

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.

  1. Utilisez la méthode http.request() pour envoyer une requête

http.request(options[, callback])

Cette méthode renvoie un objet http.ClientRequest. options est un objet contenant les propriétés suivantes :

  • protocol - le protocole utilisé par la requête, tel que http : ou https :.
  • hostname - Le nom de domaine ou l'adresse IP du serveur à demander.
  • port - Le numéro de port auquel le serveur répond.
  • path - le chemin demandé.
  • method - Méthode HTTP utilisée par la requête, telle que GET, POST.
  • headers - Objet contenant les en-têtes de requête.

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.

  1. Utilisez la méthode http.get() pour envoyer une requête

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.

  1. Utilisez la bibliothèque de requêtes pour envoyer des requêtes

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Que développer avec nodejsArticle suivant:Que développer avec nodejs