代理服务器: 代理服务器充当用户和他们想要访问的网站或API之间的中介。 为什么使用代理服务器? 在标准的方法中,欧博客户端直接发送请求到API端点来获取所需数据。在这种情况下,Node.js代理将充当用户和API之间的中介。因此,皇冠用户向代理发出请求,然后将其转发到API端点。用户请求代理端点。 使用代理的好处包括: 允许和限制API的某些资源。 提高网络性能。 负载均衡。 示例: 让我们构建一个Node.js代理服务器。 先决条件: 确保你的设备上安装了以下应用程序。 步骤: 我们将使用http-proxy-middleware框架创建一个发送请求到天气API – Open Weather Map的Node.js代理。 步骤1:初始化npm
创建一个新的项目目录并进入终端。键入以下命令初始化npm。 npm init -y步骤2:安装所需的依赖项 我们需要在我们的项目中安装一些列出的软件包,DG游戏如下所示: express: 这是一个node.js框架。 http-proxy-middleware: 这是一个代理框架。 dotenv: 加载环境变量。 morgan: 记录请求。 通过运行以下命令来安装上述软件包: npm i express http-proxy-middleware dotenv morgan步骤3:创建代理服务器 创建一个app.js文件,并编写代理服务器的代码。 首先,欧博注册我们将导入安装的包到我们的项目中,并创建一个express服务器。 const express = require('express'); const morgan = require("morgan"); const { createProxyMiddleware } = require('http-proxy-middleware'); require('dotenv').config() // Creating express server const app = express();要使用开放天气地图API,欧博代理您需要一个API密钥。请访问https://openweathermap.org/api登录或创建新帐户。点击API密钥,将其复制。 我们将创建一个 .env文件 来存储这个API密钥及其URL。在.env文件中添加以下代码 API_BASE_URL = "https://api.openweathermap.org/data/2.5/weather" API_KEY_VALUE = "<Enter your API key>"然后,我们将提及我们的端口、主机和API URL。 const PORT = 3000; const HOST = "localhost"; const API_BASE_URL = process.env.API_BASE_URL; const API_KEY_VALUE = process.env.API_KEY_VALUE; const API_SERVICE_URL = `{API_BASE_URL}?q=London&appid={API_KEY_VALUE}`;代理逻辑: 我们将创建一个代理中间件,并指定API终点和用户用于获取数据的新路径。默认情况下,我们将获取伦敦的天气。 app.use('/weather', createProxyMiddleware({ target: API_SERVICE_URL, changeOrigin: true, pathRewrite: { [`^/weather`]: '', }, }));API_SERVICE_URL将对用户隐藏,他们只能从localhost:3000/weather请求天气。在幕后,路径将重写为localhost:3000/。 配置服务器 // Start Proxy app.listen(PORT, HOST, () => { console.log(`Starting Proxy at {HOST}:{PORT}`); });将以下代码添加到app.js文件中。 app.js const express = require("express"); const morgan = require("morgan"); const { createProxyMiddleware } = require("http-proxy-middleware"); require("dotenv").config(); // Create Express Server const app = express(); // Configuration const PORT = 3000; const HOST = "localhost"; const { API_BASE_URL } = process.env; const { API_KEY_VALUE } = process.env; const API_SERVICE_URL = `{API_BASE_URL}?q=London&appid={API_KEY_VALUE}`; // Logging the requests app.use(morgan("dev")); // Proxy Logic : Proxy endpoints app.use( "/weather", createProxyMiddleware({ target: API_SERVICE_URL, changeOrigin: true, pathRewrite: { "^/weather": "", }, }) ); // Starting our Proxy server app.listen(PORT, HOST, () => { console.log(`Starting Proxy at {HOST}:{PORT}`); });启动应用程序的步骤: 使用以下命令运行应用程序: node app.js输出: 现在您已经准备好使用代理服务器了。 步骤4: 前往 Postman 发送请求。 我们将发送一个请求到 localhost:3000/weather,并根据 URL 查询获取伦敦的天气数据。用户甚至不知道确切的 API 端点。用户发送请求到代理服务器,代理服务器将其转发到 API 端点。 输出: 上一篇 什么是回调地狱,以及如何在Node.js中避免它 下一篇 Node.js 如何使用Mongojs模块 Python教程
Python 教程
Tkinter 教程
Pandas 教程
NumPy 教程
Flask 教程
Django 教程
PySpark 教程
wxPython 教程
SymPy 教程
Seaborn 教程
SciPy 教程
RxPY 教程
Pycharm 教程
Pygame 教程
PyGTK 教程
PyQt 教程
PyQt5 教程
PyTorch 教程
Matplotlib 教程
Web2py 教程
BeautifulSoup 教程 Java教程
Java 教程 Web教程
HTML 教程
CSS 教程
CSS3 教程
jQuery 教程
Ajax 教程
AngularJS 教程
TypeScript 教程
WordPress 教程
Laravel 教程
Next.js 教程
PhantomJS 教程
Three.js 教程
Underscore.JS 教程
WebGL 教程
WebRTC 教程
VueJS 教程 数据库教程
SQL 教程
MySQL 教程
MongoDB 教程
PostgreSQL 教程
SQLite 教程
Redis 教程
MariaDB 教程 图形图像教程
Vulkan 教程
OpenCV 教程 大数据教程
R语言 教程 开发工具教程
Git 教程
VSCode 教程
Docker 教程
Gerrit 教程
Excel 教程 计算机教程
Go语言 教程 (责任编辑:) |