コマンドライン、一般的なHTTPプロキシ(例:Squid)はありますか?

コマンドライン、一般的なHTTPプロキシ(例:Squid)はありますか?

Netcat(またはSocat)を使用すると、ブラウザと特定のホスト:ポート間のトラフィックを簡単にキャプチャできます。

しかし、Linuxでは、HTTPクライアント(ブラウザまたはコマンドラインプログラム)と任意のホスト:ポート間のトラフィックをキャプチャするために使用できるSquidのHTTPプロキシに対応するコマンドラインはありますか?

ベストアンサー1

PerlとPython(そしておそらくRuby)には、簡単なHTTPプロキシをすばやく構築するために使用できるシンプルなツールキットがあります。

Perl では、以下を使用します。HTTP::プロキシ。以下は、マニュアルの3行の例です。リクエストやレスポンスをフィルタリング、記録、または書き換えるには、フィルタを追加してください。例については、マニュアルを参照してください。

use HTTP::Proxy;
my $proxy = HTTP::Proxy->new( port => 3128 );
$proxy->start;

Pythonでは、次を使用します。シンプルなHTTPサーバー。以下は少し変更されたサンプルコードです。効果ロボットdo_GET要求または応答をフィルタリング、記録、または書き換えるには、メソッド(または他のメソッド)を調整します。

import SocketServer
import SimpleHTTPServer
import urllib
class Proxy(SimpleHTTPServer.SimpleHTTPRequestHandler):
    def do_GET(self):
        self.copyfile(urllib.urlopen(self.path), self.wfile)
httpd = SocketServer.ForkingTCPServer(('', 3128), Proxy)
httpd.serve_forever()

おすすめ記事