我在Node中创建了一个相对简单的代理,它允许我下载页面并显示它们。这很好,虽然一些脚本,链接,表单和图像似乎已被打破,因为它们指向相关文件。作为一个项目,我正在尝试创建一个功能齐全的Web代理。
像Proxify这样的网站如何解决这个问题?
计划参考:
var app = require('express').createServer();
var request = require('request'),
sys = require('sys'),
fs=require('fs');
app.get('/url', function(req, res){
console.log(req.query.link);
request({ uri: req.query.link,
headers: {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; rv:6.0) Gecko/20110814 Firefox/6.0"}
}, function (error, response, body) {
if (error && response.statusCode !== 200) {
console.log('Error when contacting google.com')
}
res.send(body, {"Content-type": "text/html"});
res.end();
});
});
答案 0 :(得分:0)
现在你的代码只代理html文件,客户端直接从真实站点抓取其余部分。您将希望使用类似于节点jQuery的东西来替换文档中的所有src / href以使它们通过您的代理,同时您可以检查它们是否相对以及它们是否在前面添加当前URL然后创建您的代理URL。