मैं HTTP GET
क्लाइंट से किसी थर्ड पार्टी वेबसाइट (Google का कहना है) से अनुरोध पारित करने के लिए एक प्रॉक्सी सर्वर बनाने की कोशिश कर रहा हूं । मेरे प्रॉक्सी को आने वाली रिक्वेस्ट को मिरर करने के लिए टारगेट साइट पर अपने संबंधित पथ को मिरर करने की जरूरत है, इसलिए यदि मेरे क्लाइंट का आग्रह url है:
127.0.0.1/images/srpr/logo11w.png
निम्नलिखित संसाधन परोसा जाना चाहिए:
http://www.google.com/images/srpr/logo11w.png
यहां वह है जो मैंने जुटाया:
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();
});
}
यह html पृष्ठों के साथ अच्छी तरह से काम करता है, लेकिन अन्य प्रकार की फ़ाइलों के लिए, यह केवल एक रिक्त पृष्ठ या लक्ष्य साइट से कुछ त्रुटि संदेश देता है (जो विभिन्न साइटों में भिन्न होता है)।
http
, उच्च अमूर्त के लिए कम से संबंधित मॉड्यूल के एक आदेश हैं:node
,http
,connect
,express
से लिया stackoverflow.com/questions/6040012/...