私はまだLuaを使い始めていて、それを使って(比較的)簡単なプロキシを書いてみたいです。Luaを使用してプロキシ/キャッシングサーバーを作成する!
これは私が取得したいものです。
- は、ポート上で聞いてください。
- 接続を受け入れます。
- これはプロキシなので、私のブラウザからのリクエストは何でもHTTP(Get/Post etc ..)/ HTTPS/FTP /を期待しています。
- 要求を検査する(ホストとポートの情報を抽出するだけです)
- 新しいソケットを作成し、要求で指定されたホストに接続します。
- 受信した正確な要求をPOSTデータとすべてで中継します。
- 応答(ヘッダー/本文/その他)を受信し、最初の要求に応答します。
- 接続を閉じますか?キープ・アライブは尊重されるべきではないと思いますか?
私はそれが些細なことではないことを認識していますが、私はLuaSocketsまたはCopasを使用してこれを設定するのに苦労しています。 \ r \ n \ r \ nをスキャンするまで受信を続けますか?その後、投稿データをどのように取得するのですか?身体?または、「ダウンロード」ファイルを受け入れますか?私は "シンク"について読んだが、それが意味することのほとんどを理解していなかったので、もっと読むべきだろうか?
重要な場合は、LuaForWindowsを使用しているWindowsマシンで作業していますが、まだLuaを初めて使用しています。これまでのところ、テーブルは驚くべきものです:)
私はlua-httpを発見しましたが、Xavanteにマージされているようです(そして、lua 5.1とLuaForWindowsのバージョンは見つかりませんでした。私の人生は楽になりますか?私は、などを見てしなければならない任意のヒント、ポインタ、ライブラリ/ソースを事前に
感謝:)
あなたはそうだと指摘してくれて正直であるとは思っていませんでしたが、どうやって進めるのかまだ分かりません。 lua-http-parserを詳しく見ていきますが、実際には "リクエストを取得+すべてのデータ - >転送し、レスポンス+データ - >転送する"という簡単なコードを期待していました。 – Cyclonus
リクエストを解析できたら、あなたのほとんどは完了しました。 –