ノードrequest
モジュールをノードシェル内から使用して、HTTP POST経由でログインフォームを送信しています。ログインが成功すると、サーバーは「ホーム」ページ(HTTP GET付き)にリダイレクトされます。ノード '要求'モジュール:302リダイレクトで最後の応答を取得する
request
のドキュメントには、デフォルトですべてのリダイレクトが行われ、実際にははと表示されています。サーバー側でリダイレクトが確認できます。
しかし、クライアント側では、サーバー側で発生した最終的なリダイレクトの(html)応答本文を取得する必要があります。 (私の場合は、ホームページへの唯一の1のリダイレクトがあるが、それは明らかに一般的なケースでは以上の1つのリダイレクトもある可能性があります。)
ここは私のクライアント側のコードです:
var request = require('request');
request.post('http://localhost:8080/login', {
form: {
user:'u',
password:'p'
}},
function(err, resp, body) {
console.log(body);
});
問題上記のコードはコンソールには何も表示しません!
質問:最終的な応答を印刷するにはどうすればよいですか?さらに、リダイレクトの連鎖の場合、クライアント側で、少なくとも中間のリダイレクト(いくつかの情報は最低でもURLは理想的ですが、URLとHTTPメソッドの種類)を取得することが可能です、そして身体を要求しますか?
ので何も、サーバー上の間違ったではありません:私は、サーバーに対してcurl
を使用している場合、私はちょうど罰金最終ホームページのHTMLを参照してください。
$ curl -L -d 'user=u' -d 'password=p' http://localhost:8080/login
<html> ... </html>
$