これは、railwayjsコントローラー(まだ複合に移行していない)の内部で実行することによって複雑になる可能性がありますが、そうは思わないでください。ただし、ここに鉄道が干渉しているものはないと思います。
私は次のものを持っています:
var http = require('follow-redirects').http;
var https = require('follow-redirects').https;
action('index', function (req,res) {
var url = decodeURIComponent(request.query.url);
var resobj;
var stat;
var headers;
http.get(url, function (r) {
stat = r.statusCode;
headers = r.headers;
r.on('data', function (chunk) {
resobj += chunk.toString();
});
r.on('end', responder);
});
function responder(){
response.writeHead(200, {
'Content-Type': headers["content-type"]
})
response.write(resobj);
response.end();
}
});
request.query.urlは鉄道からのものであるか、またはおそらくエクスプレスの基礎からのものであり、いずれにせよ正しく返されます。ただし、これをさまざまなWebサイトで実行すると、2つの問題が発生します。
未定義のテキストは、他の何よりも前に出てきます。たとえば、doctype宣言の前です。
チャンクの構造がオフになっているようで、ブラウザがhtmlを修正するようになっています(「未定義」の文字列が原因である可能性があります)。この修正は、レンダリング時に通常は頭にある要素が本体に含まれることを意味します。
これを修正するためのアイデア-また、ノードphantomjsブリッジの1つで少なくとも同じくらい良い結果を得ることができるように、誰かが上記のコードを実行する方法を教えてくれるなら、それは素晴らしいことです。