最短のプロキシサーバーを作成します。
入出力仕様
クライアント:
- 入力:ポート番号(32ビット整数)(、)または(スペース) url(テストケースを参照)
- 出力:URLのHTMLソース
サーバ:
- 入力:待機するポート(32ビット整数)
- 出力:クライアントから入力を受け取ったときにREC、HTMLソースをクライアントに送信し終えたらOK。
ルール
- あなたは、どちらかのことがあり、完全なプログラムまたはインタプリタ言語の関数を。
- 入力はstdinを通じて取得されるか、引数として指定されます。
- コードは、指定されたテストケースに対してのみ機能する必要があります(詳細はオプションで、詳細は無効です)。
- クライアントの出力は、ブラウザから「ソースを表示」したときに得られるものと同じでなければなりません。
- リクエストが処理されるたびにサーバーが終了する場合があります(つまり、永続的/デーモンである必要はありません)。
- (編集)指定されたもの以外の入出力は禁止されています。
テストケース(クライアント入力)
- N 1 https://stackoverflow.com/
- N 2 http://en.wikipedia.org/wiki/Proxy_server
- N 3 http://stackexchange.com/search?q=code+golf
ここで、N iは1〜2048のランダムな整数です。
サーバーは再利用可能である必要がありますか?それとも、ワンショットプロキシにすることができますか?
—
Nemo157 2011年
@Nemo:再利用可能とはどういう意味ですか?(しかし、答えは「はい、それはワンショットになる可能性があります」と思います)
—
Eelvex
@Nemo:はい、適切に処理されたリクエストの後でサーバーが終了しても問題ありません。
—
Eelvex 2011年