Maison  >  Article  >  interface Web  >  Le proxy nodejs envoie une demande

Le proxy nodejs envoie une demande

WBOY
WBOYoriginal
2023-05-18 10:39:071180parcourir

Avec le développement rapide d'Internet, l'importance des applications réseau est devenue de plus en plus évidente. Cependant, dans les applications Web, nous n'obtenons pas toujours ce que nous voulons et pouvons avoir besoin d'obtenir des données d'un site Web qui ne prend pas en charge l'accès direct. Ou nous souhaitons accéder à plusieurs domaines, mais en raison de la politique de même origine du navigateur, nous ne pouvons pas partager de ressources entre différents noms de domaine. Tous ces problèmes peuvent être résolus en envoyant des requêtes via un proxy.

Nodejs est un environnement d'exécution JavaScript piloté par événements qui est très adapté aux requêtes proxy. Dans cet article, nous expliquerons comment créer un proxy à l'aide de Nodejs afin de pouvoir accéder à des sites Web qui ne prennent pas en charge l'accès direct ou l'accès entre domaines.

  1. Installation des dépendances

Nodejs utilise npm pour gérer les dépendances des applications Nous pouvons utiliser la commande suivante pour installer les dépendances requises : #🎜🎜 #.

npm install express http-proxy-middleware

Parmi eux :

    express est un framework Web Nodejs populaire qui fournit un support pratique de routage et de middleware
  • http-proxy- Middleware est un middleware utilisé pour envoyer des requêtes par proxy à d'autres serveurs.
    Créer un serveur
Créer un serveur Nodejs afin que nous puissions proxy les requêtes. Créez un fichier nommé "server.js" dans le dossier du projet et entrez le code suivant :

const express = require('express');
const { createProxyMiddleware } = require('http-proxy-middleware');

const app = express();

app.use('/', createProxyMiddleware({ 
    target: 'https://example.com',
    changeOrigin: true
}));

app.listen(3000, () => {
    console.log('Server is running on port 3000');
});

    Introduce express et http-proxy-middleware modules
  • #🎜 🎜#Create une application express
  • Utilisez le middleware http-proxy-middleware pour proxyer les requêtes et définissez notre cible sur le site Web que nous voulons proxy
  • Utilisez l'option changeOrigin pour changer la source afin que les entêtes de requête HTTP sont correctement paramétrés
  • Démarrez l'application en écoute sur le port 3000.
Serveur de Configuration
  1. Notre serveur proxy est maintenant prêt, mais pour que les requêtes d'envoi de proxy fonctionnent correctement, nous la configuration du serveur est requise. Ajoutez le code suivant dans le fichier "server.js" :
app.use('/', (req, res, next) => {
    res.header('Access-Control-Allow-Origin', '*');
    res.header('Access-Control-Allow-Headers', 'X-Requested-With');
    res.header('Access-Control-Allow-Methods', 'GET, PUT, POST, DELETE, OPTIONS');
    next();
});

Le but de ce code est de permettre l'accès entre domaines. Pour chaque requête entrante, nous définissons les en-têtes de réponse pour permettre à toutes les origines ( * ) d'accéder à notre serveur et définissons les méthodes de requête HTTP prises en charge.

Running Server
  1. Maintenant que nous avons terminé l'installation et la configuration du serveur proxy, nous pouvons démarrer le serveur en exécutant la commande suivante : #🎜🎜 #
    node server.js
Ensuite, nous pouvons accéder à notre serveur proxy dans le navigateur, tel que http://localhost:3000, pour accéder au site Web proxy.

Summary

Utiliser le proxy Nodejs pour envoyer des requêtes est une méthode relativement simple et ne nécessite pas beaucoup de code. Il nous suffit d'installer les dépendances nécessaires, de créer un serveur, de le configurer, puis nous pouvons effectuer des requêtes proxy dans notre environnement local. Grâce aux demandes de proxy, nous pouvons non seulement obtenir des données de sites Web qui ne prennent pas en charge l'accès direct, mais également accéder aux ressources sur tous les domaines, ainsi qu'améliorer l'efficacité des demandes de proxy en ajoutant d'autres fonctionnalités.

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