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/...