3

ブラウザーで要求された URL のリダイレクトの数を見つけようとしています。可能であれば、JavaScript を介してその URL のリダイレクトされたパスを追跡したいと考えています。

たとえば、ブラウザで「A」をリクエストした場合、リダイレクト フローは A->B->C->D と仮定します。つまり、「D」にリダイレクトされます。この場合、3 つの 301 リダイレクト ステータス コードと 1 つの 200 ok ステータス コードを取得する必要があります。

addon.js で以下の方法を試しました (そして、Firefox ブラウザーへのアドオンを作成しました)。

var req = new XMLHttpRequest();
req.open('GET', document.location, false);
req.send(null);
var headers = req.getAllResponseHeaders().toLowerCase();
var StatusValue = req.status;

200 OK を返しています (最終 URL だと思います)。

Javascript を介して URL のすべての 301 リダイレクトを取得することは可能ですか?

ありがとう、

4

2 に答える 2

-1

thx、コードは機能しますが、期待どおりではありません:A->B->C->D (channel_1 -> channel_2 -> channel_3 -> channel_4).

私の場合、次のA->B->C->Dようなリダイレクト チェーンが記録されます。

A->B (channel_1 -> channel_2), than B->C (channel_1 -> channel_2), C->D (channel_1 -> channel_2);channel_1 & channel_2ランダムなハッシュ番号です。

そのため、チェーンを連結することはできません。それは一連のイベントをキャプチャするための戦略でしょうか(ページがメタリフレッシュ、javascript、httpなどを使用してリダイレクトしている間)?

于 2018-01-19T10:11:05.747 に答える