ホームページ  >  記事  >  ウェブフロントエンド  >  nodejsプロキシがリクエストを送信します

nodejsプロキシがリクエストを送信します

WBOY
WBOYオリジナル
2023-05-18 10:39:071103ブラウズ

インターネットの急速な発展に伴い、ネットワーク アプリケーションの重要性がますます明らかになりました。ただし、Web アプリケーションでは、常に必要なものが得られるとは限らず、直接アクセスをサポートしていない Web サイトからデータを取得する必要がある場合があります。または、ドメインを越えてアクセスしたいのですが、ブラウザの同一生成元ポリシーにより、異なるドメイン名間でリソースを共有できません。これらの問題はすべて、プロキシ経由でリクエストを送信することで解決できます。

Nodejs は、プロキシ リクエストに非常に適したイベント駆動型の JavaScript 実行環境です。この記事では、直接アクセスやドメインをまたいだアクセスに対応していない Web サイトにアクセスできるように、Nodejs を使用してプロキシを作成する方法を説明します。

  1. 依存関係のインストール

Nodejs は npm を使用してアプリケーションの依存関係を管理します。次のコマンドを使用して必要な依存関係をインストールできます:

npm install express http-proxy-middleware

その中には:

  • express は、便利なルーティングとミドルウェアのサポートを提供する人気のある Nodejs Web フレームワークです。
  • http-proxy-middleware は、サーバー上の他のサーバーにリクエストをプロキシするためのミドルウェアです。
  1. サーバーの作成

Nodejs サーバーを作成して、リクエストをプロキシできるようにします。プロジェクト フォルダーに「server.js」という名前のファイルを作成し、次のコードを入力します。

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');
});
  • express および http-proxy-middleware モジュールの導入
  • express アプリケーションの作成
  • http-proxy-middleware ミドルウェアを使用してリクエストをプロキシし、プロキシしたい Web サイトにターゲットを設定します。
  • changeOrigin オプションを使用してオリジンを変更し、HTTP リクエスト ヘッダーが正しく設定されるようにします
  • ポート 3000 でリッスンするアプリケーションを開始します。
  1. サーバーの構成

これでプロキシ サーバーの準備が整いましたが、プロキシ送信リクエストが適切に機能するには、サーバーでいくつかの構成を行う必要があります。サーバ。次のコードを「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();
});

このコードの目的は、クロスドメイン アクセスを許可することです。受信リクエストごとに、すべてのオリジン ( * ) がサーバーにアクセスできるように応答ヘッダーを設定し、サポートされる HTTP リクエスト メソッドを設定します。

  1. サーバーの実行

プロキシ サーバーのセットアップと構成が完了したので、次のコマンドを実行してサーバーを起動できます:

node server.js

その後、ブラウザで http://localhost:3000 などのプロキシ サーバーにアクセスし、プロキシの宛先である Web サイトにアクセスできます。

概要

Nodejs プロキシを使用してリクエストを送信するのは比較的単純な方法であり、多くのコードは必要ありません。必要な依存関係をインストールし、サーバーを作成して構成するだけで、ローカル環境でプロキシ リクエストを行うことができます。プロキシ リクエストを通じて、直接アクセスをサポートしていない Web サイト データを取得できるだけでなく、ドメインを越えてリソースにアクセスしたり、その他の機能を追加することでプロキシ リクエストの効率を向上したりできます。

以上がnodejsプロキシがリクエストを送信しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。