Node.jsを使うとプロキシサーバを簡単に書くことができます。
こんな感じで。
var url = require('url'),
http = require('http');
var port = 1234;
http.createServer(function(serverRequest, serverResponse) {
var requestUrl = url.parse(serverRequest.url);
var body = [];
console.log(requestUrl.href);
serverRequest.on('data', function(data) {
// リクエストボディを受け取る
body.push(data);
});
serverRequest.on('end', function() {
// クライアントから受け取った通りにリクエスト
var request = http.request({
host: serverRequest.headers.host,
port: requestUrl.port || 80,
path: requestUrl.path,
method: serverRequest.method,
headers: serverRequest.headers
},
function(response) {
serverResponse.writeHead(response.statusCode, response.headers);
response.on('data', function(chunk) {
// 受け取ったデータをクライアントへ送り返す
serverResponse.write(chunk);
});
response.on('end', function() {
serverResponse.end();
});
});
if(body.length > 0) {
request.write(body.join(''));
}
request.end();
});
}).listen(port);
もちろんこれ自体には意味はありませんが、リクエストやレスポンスを自由にいじって遊ぶことができます。といっても、ブラウザの拡張機能でも大体のことができてしまうので、活躍する状況は限られると思われますが。
Node.js、まじめに使う場合にはいろいろな意見があるでしょうが、少なくとも簡単なサーバを書くには楽でいい環境だと思いました。Windowsでばっちり動くのもすばらしい。