Node.jsで作るプロキシサーバ 2012-05-18 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でばっちり動くのもすばらしい。 参考 node.jsでproxyサーバ - ぬるま湯に浸かりながら おまけ Pixivの画像をキャッシュするプロキシサーバ — Gist Please enable JavaScript to view the comments powered by Disqus.