Heim >Web-Frontend >Front-End-Fragen und Antworten >Der NodeJS-Proxy sendet eine Anfrage

Der NodeJS-Proxy sendet eine Anfrage

WBOY
WBOYOriginal
2023-05-18 10:39:071211Durchsuche

Mit der rasanten Entwicklung des Internets wird die Bedeutung von Netzwerkanwendungen immer offensichtlicher. Allerdings bekommen wir in Webanwendungen nicht immer das, was wir wollen, und müssen möglicherweise Daten von einer Website abrufen, die keinen direkten Zugriff unterstützt. Oder wir möchten domänenübergreifend zugreifen, können aber aufgrund der Same-Origin-Richtlinie des Browsers keine Ressourcen zwischen verschiedenen Domänennamen teilen. Alle diese Probleme können gelöst werden, indem Anfragen über einen Proxy gesendet werden.

Nodejs ist eine ereignisgesteuerte JavaScript-Laufzeitumgebung, die sich sehr gut für Proxy-Anfragen eignet. In diesem Artikel erklären wir, wie man mit Nodejs einen Proxy erstellt, damit wir auf Websites zugreifen können, die keinen direkten Zugriff unterstützen, oder auf domänenübergreifende Zugriffe.

  1. Abhängigkeiten installieren

Nodejs verwendet npm, um Anwendungsabhängigkeiten zu verwalten. Wir können den folgenden Befehl verwenden, um die erforderlichen Abhängigkeiten zu installieren:

npm install express http-proxy-middleware

Unter ihnen:

  • express ist ein beliebtes Nodejs-Webframework, das praktisches Routing und Middleware bietet Unterstützung
  • http-proxy-middleware ist eine Middleware, die zum Weiterleiten von Anfragen an andere Server verwendet wird.
  1. Server erstellen

Erstellen Sie einen Nodejs-Server, damit wir Anfragen weiterleiten können. Erstellen Sie eine Datei mit dem Namen „server.js“ im Projektordner und geben Sie den folgenden Code ein:

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');
});
  • Führen Sie Express- und http-proxy-middleware-Module ein.
  • Erstellen Sie eine Express-Anwendung.
  • Verwenden Sie die http-proxy-middleware-Middleware als Proxy Anfrage, legen Sie unser Ziel auf die Website fest, die als Proxy weitergeleitet werden soll.
  • Verwenden Sie die Option „changeOrigin“, um den Ursprung zu ändern, sodass der HTTP-Anforderungsheader richtig eingestellt ist. Starten Sie die Anwendung, die Port 3000 überwacht.
Server konfigurieren
  1. Unser Proxyserver ist jetzt bereit, aber damit Proxy-Sendeanfragen ordnungsgemäß funktionieren, müssen wir einige Konfigurationen des Servers vornehmen. Fügen Sie den folgenden Code in die Datei „server.js“ ein:
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();
});

Der Zweck dieses Codes besteht darin, den domänenübergreifenden Zugriff zu ermöglichen. Für jede eingehende Anfrage legen wir Antwortheader fest, um allen Ursprüngen ( * ) den Zugriff auf unseren Server zu ermöglichen und die unterstützten HTTP-Anfragemethoden festzulegen.

Führen Sie den Server aus
  1. Da wir nun die Einrichtung und Konfiguration des Proxyservers abgeschlossen haben, können wir den Server starten, indem wir den folgenden Befehl ausführen:
node server.js

Anschließend können wir im Browser auf unseren Proxyserver zugreifen, z http:// /localhost:3000 für den Zugriff auf die Website, für die ein Proxy verwendet wird.

Zusammenfassung

Die Verwendung des Nodejs-Proxys zum Senden von Anforderungen ist eine relativ einfache Methode und erfordert nicht viel Code. Wir müssen nur die notwendigen Abhängigkeiten installieren, einen Server erstellen, ihn konfigurieren und dann können wir Proxy-Anfragen in unserer lokalen Umgebung stellen. Durch Proxy-Anfragen können wir nicht nur Website-Daten abrufen, die keinen direkten Zugriff unterstützen, sondern auch domänenübergreifend auf Ressourcen zugreifen und die Effizienz von Proxy-Anfragen durch Hinzufügen einiger anderer Funktionen verbessern.

Das obige ist der detaillierte Inhalt vonDer NodeJS-Proxy sendet eine Anfrage. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn