ホームページ > ウェブフロントエンド > jsチュートリアル > 簡単なプロキシサーバー機能の実装例

簡単なプロキシサーバー機能の実装例

零下一度
リリース: 2017-07-19 17:26:42
オリジナル
2146 人が閲覧しました

Java ダイナミック プロキシ

Java ダイナミック プロキシを理解するには、まずプロキシとは何かを理解する必要があります。デザイン パターンに詳しい人は、Gof によってまとめられた 23 のデザイン パターンの中に、プロキシと呼ばれるオブジェクト構造があることを知っているはずです。動的エージェントのエージェントであるパターンは、この設計パターンを指します。

23種類のデザインパターンのうち、いわゆるプロキシモードと「デコレーションモード」は同じものだと私は考えています。 23 のデザインパターンのうち、これら 2 つのパターンの類似点と相違点については、インターネット上にもいくつかの記事がありますが、抽象化すると、確かにこの 2 つのパターンを区別することができます。あるレベルでは、これら 2 つのパターンはまったく同じではないと思います。したがって、プロキシモードを学べば、デコレーションモードもマスターできることになります。

早速、コードから始めましょう:

var express = require('express');
var request = require('request');
var app = express();
app.use('/', function(req, res) {
    var url = 'https://www.baidu.com/' + req.url;
    req.pipe(request(url)).pipe(res);
});
app.listen(process.env.PORT || 3000);
ログイン後にコピー

10 行未満のコードで、簡単なプロキシ サーバー機能が実装されます。すごいと思いませんか?
Node.js に精通している場合は、これらのコード行を簡単に理解できるはずです。まず、HTTP サーバーを作成するための一般的なフレームワークである Express モジュールをロードします。次に、HTTP リクエストのさまざまなメソッドをカプセル化するリクエストがあり、リクエストの開始が非常に簡単になります。次にExpressオブジェクトをインスタンス化し、アクセスルートを設定します。最後にポート 3000 でリッスンします。
まず効果を見てください。上記のコードを proxy.js ファイルに保存し、ファイルが置かれているパスで実行します。

node proxy.js
localhost:3000/

をブラウザで開きます。 キーコードはルーティング処理メソッドにあります。 。

req.pipe(request(url)).pipe(res);
ログイン後にコピー

このパイプ メソッドはその名前 (パイプライン) のように魔法のようで、ブラウザのリクエスト データをリクエスト クライアントに渡し、ターゲット サーバーの応答データをブラウザに返します。このコードはとても簡潔です!
それでは、科学的なインターネット アクセスを実現するにはどうすればよいでしょうか?はい、ネットワークによってブロックされていないサーバー上でコードを実行するだけで問題ありません。たとえば、この Rendoso www.rendoso.com の背後には Google エージェントが存在します。

以上が簡単なプロキシサーバー機能の実装例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート