ホームページ  >  記事  >  バックエンド開発  >  最短の Python コードでサーバーとプロキシ サーバーを実装してみる

最短の Python コードでサーバーとプロキシ サーバーを実装してみる

WBOY
WBOYオリジナル
2016-07-06 13:29:501135ブラウズ

最も単純なサーバー
Python には、標準ライブラリの wsgiref を使用するだけで、別のサーバー リスニング ポートを設定する機能があります。

リーリー

2016623145600293.jpg (247×67)

プロキシ サーバーを実装するための 50 行のコード
以前こんな場面に遭遇しました
自分のコンピュータで mongodb グラフィカル クライアントを使用する必要がありますが、mongodb サーバーのアドレスが外部に公開されていないため、最初にホスト A にログインし、次に A から mongodb サーバー B に接続することしかできません。
当初は ssh ポート経由で転送したかったのですが、マシン A からマシン B に ssh 接続する権限がありません。そこで私は Python で自分で書きました。
原理は簡単です。
1. ソケットサーバーを開いて接続リクエストをリッスンします
2. クライアントからの接続要求を受け付けるたびに、転送先アドレスへの接続要求を作成します。つまり、クライアント -> プロキシ -> 転送です。プロキシは、ソケット サーバー (リスニング クライアント) とソケット クライアント (転送要求) の両方です。
3. 2 つのソケット client->proxy と proxy->forward を辞書でバインドします。
4. 送信/受信したデータをそのままこのマップされた辞書に渡します
以下のコード。

リーリー

エフェクトのスクリーンショットは以下のとおりです。

2016623145635171.jpg (574×128)

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