织梦CMS - 轻松建站从此开始!

欧博ABG官网-欧博官方网址-会员登入

如何构建一个node.j欧博s代理服务器

时间:2024-09-12 00:48来源: 作者:admin 点击: 2 次
如何构建一个node.js代理服务器 在本文中,我们将创建一个Node.js代理服务器,将请求转发到不同的服务器或端点。 代理服务器: 代理服务器充当用户和他们想要访问的网站或API之间的中介。 为什么使用代理服务器? 在标准的方法中,客户端直接发送请求到API端点来获取所需数据。在这种情况

代理服务器: 代理服务器充当用户和他们想要访问的网站或API之间的中介。

为什么使用代理服务器?

在标准的方法中,欧博客户端直接发送请求到API端点来获取所需数据。在这种情况下,Node.js代理将充当用户和API之间的中介。因此,皇冠用户向代理发出请求,然后将其转发到API端点。用户请求代理端点。

使用代理的好处包括:

允许和限制API的某些资源。

提高网络性能。

负载均衡。

示例: 让我们构建一个Node.js代理服务器。

先决条件: 确保你的设备上安装了以下应用程序。

步骤: 我们将使用http-proxy-middleware框架创建一个发送请求到天气API – Open Weather Map的Node.js代理。

步骤1:初始化npm

创建一个新的项目目录并进入终端。键入以下命令初始化npm。

npm init -y

如何构建一个node.js代理服务器

步骤2:安装所需的依赖项

我们需要在我们的项目中安装一些列出的软件包,DG游戏如下所示:

express: 这是一个node.js框架。

http-proxy-middleware: 这是一个代理框架。

dotenv: 加载环境变量。

morgan: 记录请求。

通过运行以下命令来安装上述软件包:

npm i express http-proxy-middleware dotenv morgan

如何构建一个node.js代理服务器

步骤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密钥,将其复制。

如何构建一个node.js代理服务器

我们将创建一个 .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

输出:

如何构建一个node.js代理服务器

现在您已经准备好使用代理服务器了。

步骤4: 前往 Postman 发送请求。

我们将发送一个请求到 localhost:3000/weather,并根据 URL 查询获取伦敦的天气数据。用户甚至不知道确切的 API 端点。用户发送请求到代理服务器,代理服务器将其转发到 API 端点。

输出:

如何构建一个node.js代理服务器

上一篇 什么是回调地狱,以及如何在Node.js中避免它 下一篇 Node.js 如何使用Mongojs模块 Python教程

Python 教程

Python 教程

Tkinter 教程

Tkinter 教程

Pandas 教程

Pandas 教程

NumPy 教程

NumPy 教程

Flask 教程

Flask 教程

Django 教程

Django 教程

PySpark 教程

PySpark 教程

wxPython 教程

wxPython 教程

SymPy 教程

SymPy 教程

Seaborn 教程

Seaborn 教程

SciPy 教程

SciPy 教程

RxPY 教程

RxPY 教程

Pycharm 教程

Pycharm 教程

Pygame 教程

Pygame 教程

PyGTK 教程

PyGTK 教程

PyQt 教程

PyQt 教程

PyQt5 教程

PyQt5 教程

PyTorch 教程

PyTorch 教程

Matplotlib 教程

Matplotlib 教程

Web2py 教程

Web2py 教程

BeautifulSoup 教程

BeautifulSoup 教程

Java教程

Java 教程

Java 教程

Web教程

HTML 教程

HTML 教程

CSS 教程

CSS 教程

CSS3 教程

CSS3 教程

jQuery 教程

jQuery 教程

Ajax 教程

Ajax 教程

AngularJS 教程

AngularJS 教程

TypeScript 教程

TypeScript 教程

WordPress 教程

WordPress 教程

Laravel 教程

Laravel 教程

Next.js 教程

Next.js 教程

PhantomJS 教程

PhantomJS 教程

Three.js 教程

Three.js 教程

Underscore.JS 教程

Underscore.JS 教程

WebGL 教程

WebGL 教程

WebRTC 教程

WebRTC 教程

VueJS 教程

VueJS 教程

数据库教程

SQL 教程

SQL 教程

MySQL 教程

MySQL 教程

MongoDB 教程

MongoDB 教程

PostgreSQL 教程

PostgreSQL 教程

SQLite 教程

SQLite 教程

Redis 教程

Redis 教程

MariaDB 教程

MariaDB 教程

图形图像教程

Vulkan 教程

Vulkan 教程

OpenCV 教程

OpenCV 教程

大数据教程

R语言 教程

R语言 教程

开发工具教程

Git 教程

Git 教程

VSCode 教程

VSCode 教程

Docker 教程

Docker 教程

Gerrit 教程

Gerrit 教程

Excel 教程

Excel 教程

计算机教程

Go语言 教程

Go语言 教程

C++ 教程

(责任编辑:)
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:
发布者资料
查看详细资料 发送留言 加为好友 用户等级: 注册时间:2024-09-20 00:09 最后登录:2024-09-20 00:09
栏目列表
推荐内容