くんすとの備忘録

IT系技術メモ

移転しました。

15秒後に自動的にリダイレクトします。

【Python】シンプルなサーバーを自作してみた

8080ポートを待ち受けてリクエストをそのまま別スクリプト(シェルスクリプト)に渡すだけ、っていうのをしたかったんですが、いいコマンドが見つからなかったので勉強がてら自作してみました。

もともとはncコマンドでやろうとしていたんですが、データを出力してもresponseヘッダにcontent-lengthを書いてないとコネクションを切断してくれなかったので…

設計

1. 8080ポートを待ち受ける
2. リクエストが来たら、外部スクリプト(listen)を起動する
3. 外部スクリプトを起動するとき、リクエストの内容をそのまま標準入出力経由で渡す
4. 外部スクリプトの標準出力を取り込んでそのままレスポンスにする

実装


simple server