我正在使用node.js并表达一个小代理服务器。一切都很好,除非我访问一个被重定向的页面。
第1步:我访问了一个页面:
http://localhost:3000/
它传递给http://whatever.com/,其中包含使用正常重定向的经典ASP页面:
<% Response.Redirect("/login/") %>
页面被重定向,我从/ login /文件夹中获取html,但我的浏览器仍然在localhost:3000上。这意味着一些指向javscript和css文件的链接无效。
我原本预计浏览器会因为重定向而更改为localhost:3000 / login,但事实并非如此。我的代码如下所示:
var express = require('express');
var concat = require('concat-stream');
var request = require('request');
var app = express();
app.all("*", function (req, resp) {
var url = 'http://whatever.com' + req.url;
console.log('fetching:' + url);
var write = concat(function(response) {
resp.end(response);
});
request.get(url)
.on('response',
function (response) {}
).pipe(write);
});
app.listen(3000);
我一直无法找到任何关于它的信息,几乎没有人遇到同样的问题。从重定向页面获取数据不是问题 - 它正在为客户端执行实际重定向,因此我不会在错误的URL上解析html。
任何帮助?