2011-07-08 4 views
0

私はwikipediaからページを引っ張って、以下のコードでlocalhostから提供することができました。私はロゴも変更できるようにしたい。私は.replace()関数でそれをしようとしましたが、動作しません。nodejsでページの内容を変更するには

var http = require('http'); 

http.createServer(function (req, res) { 
    console.log(req.url) 
    var options = { 
    host: 'en.wikipedia.org', 
    port: 80, 
    path: req.url, 
    }; 

    var req = http.get(options, function(response) { 
    response.setEncoding('utf8'); 
    response.on('data', function (chunk) { 
     chunk.replace("http://upload.wikimedia.org/wikipedia/en/b/bc/Wiki.png","http://www.sotmclub.com/images/logo.png"); 
     res.write(chunk, 'utf8'); 
    }); 
    res.writeHead(response.statusCode, response.headers); 
    }); 

}).listen(1337, "127.0.0.1"); 
+0

あなたはjsdom + jQueryを使うことができます。http://blog.nodejitsu.com/jsdom-jquery-in-5-lines-on-nodejs – generalhenry

+0

チャンクをバッファに入れるのはどうですか?次にstr-replaceを実行しますか? – Alfred

+0

チャンクはすでにバッファに入っていませんか?どのように私はそれらをバッファに入れ、それを応答に書き込むでしょうか? – DaneJensen

答えて

0

JavaScriptの文字列は不変です。 chunk.replaceはすべて新しい文字列を返します。代わりにchunk = chunk.replace(...)をしなければなりません。

+0

ありがとうございました。 – DaneJensen

関連する問題