Ich versuche, einen Proxyserver zu erstellen, um HTTP GETAnforderungen von einem Client an eine Website eines Drittanbieters (z. B. Google) weiterzuleiten . Mein Proxy muss nur eingehende Anforderungen in den entsprechenden Pfad auf der Zielwebsite spiegeln. Wenn also die angeforderte URL meines Clients lautet:
127.0.0.1/images/srpr/logo11w.png
Die folgende Ressource sollte bereitgestellt werden:
http://www.google.com/images/srpr/logo11w.png
Folgendes habe ich mir ausgedacht:
http.createServer(onRequest).listen(80);
function onRequest (client_req, client_res) {
client_req.addListener("end", function() {
var options = {
hostname: 'www.google.com',
port: 80,
path: client_req.url,
method: client_req.method
headers: client_req.headers
};
var req=http.request(options, function(res) {
var body;
res.on('data', function (chunk) {
body += chunk;
});
res.on('end', function () {
client_res.writeHead(res.statusCode, res.headers);
client_res.end(body);
});
});
req.end();
});
}
Es funktioniert gut mit HTML-Seiten, aber für andere Dateitypen wird nur eine leere Seite oder eine Fehlermeldung von der Zielsite zurückgegeben (die an verschiedenen Sites unterschiedlich ist).


http, ein Auftrag von verwandten Module von niedrig bis hoch Abstraktion sind:node,http,connect,expressaus genommen stackoverflow.com/questions/6040012/...