インターネットの急速な発展に伴い、ネットワーク アプリケーションの重要性がますます明らかになりました。ただし、Web アプリケーションでは、常に必要なものが得られるとは限らず、直接アクセスをサポートしていない Web サイトからデータを取得する必要がある場合があります。または、ドメインを越えてアクセスしたいのですが、ブラウザの同一生成元ポリシーにより、異なるドメイン名間でリソースを共有できません。これらの問題はすべて、プロキシ経由でリクエストを送信することで解決できます。
Nodejs は、プロキシ リクエストに非常に適したイベント駆動型の JavaScript 実行環境です。この記事では、直接アクセスやドメインをまたいだアクセスに対応していない Web サイトにアクセスできるように、Nodejs を使用してプロキシを作成する方法を説明します。
Nodejs は npm を使用してアプリケーションの依存関係を管理します。次のコマンドを使用して必要な依存関係をインストールできます:
npm install express http-proxy-middleware
その中には:
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'); });
これでプロキシ サーバーの準備が整いましたが、プロキシ送信リクエストが適切に機能するには、サーバーでいくつかの構成を行う必要があります。サーバ。次のコードを「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 リクエスト メソッドを設定します。
プロキシ サーバーのセットアップと構成が完了したので、次のコマンドを実行してサーバーを起動できます:
node server.js
その後、ブラウザで http://localhost:3000 などのプロキシ サーバーにアクセスし、プロキシの宛先である Web サイトにアクセスできます。
概要
Nodejs プロキシを使用してリクエストを送信するのは比較的単純な方法であり、多くのコードは必要ありません。必要な依存関係をインストールし、サーバーを作成して構成するだけで、ローカル環境でプロキシ リクエストを行うことができます。プロキシ リクエストを通じて、直接アクセスをサポートしていない Web サイト データを取得できるだけでなく、ドメインを越えてリソースにアクセスしたり、その他の機能を追加することでプロキシ リクエストの効率を向上したりできます。
以上がnodejsプロキシがリクエストを送信しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。