10

別のデバイスによって解析されるデータがあるページを作成しています。以前はphpでこれを行っていましたが、ノードに移動しています。ページからすべてのヘッダーを削除する必要があるため、出力のみが表示されます。この出力は、GET 要求に対する応答です。

現時点で私が持っている

HTTP/1.1 200 OK
Date: Wed, 11 Sep 2013 11:54:14 GMT
Connection: close

My output

表示するだけでいい

My output
4

4 に答える 4

23

通常、Express (node.js) の Response オブジェクトの API を使用してヘッダーを削除できますが、一部のヘッダーは HTTP 仕様で必要とされ、常に存在する必要があります。

Date ヘッダーはそのような必須ヘッダーです。ここを参照してください: https://stackoverflow.com/a/14490432/1801

最初の行 ( HTTP/1.1 200 OK) はヘッダーではありません。これは HTTP プロトコルの一部であり、各応答はそれで開始する必要があります。そうしないと、ブラウザーは応答をどう処理すればよいかわかりません。

他のカスタム ヘッダーを削除する場合は、次のようにします。

app.get('/test', function (req, res) {
    var body = "some body";
    res.removeHeader('Transfer-Encoding');
    res.removeHeader('X-Powered-By');
    res.end(body);
});
于 2013-09-11T13:32:49.680 に答える
1

Express は HTTP 用であるため、Express はこれを行いません。HTTP は一部の RFC に従っていないため、要求されたのは HTTP ではありません。やりたいことをするには、エクスプレスをバイパスする必要があります。ポートをリッスンし、組み込みデバイスからの GET 要求を解析して、必要なデータを送信します。

于 2015-02-03T19:42:02.517 に答える