3

リダイレクトが発生する HTTP リクエスト (たとえば、URLLoader を使用) を行う場合、リダイレクト チェーン内のいずれかの URL にアクセスできますか?

たとえば、次のようなことが起こったとします。

  1. example.com/a.gif にリクエストします
  2. example.com は example2.com/b.gif にリダイレクトされます
  3. example2.com は example3.com/c.gif にリダイレクトされます

URLLoader とそのさまざまなイベントのドキュメントをしばらく見つめましたが、次のいずれかの方法がないようです。

  1. リダイレクトに従わないように URLLoader に指示する
  2. 最初のリクエストの後に関連する URL にアクセスする

これを行う方法があるかどうか誰かが知っていますか?私は URLLoader を使用することに執着していないので、この機能をサポートする別のクラスがあれば、それを使用しても問題ありません。

誰かが私を正しい方向に向けることができますか? 前もって感謝します!

編集- 明確にする必要があります。DOM デバッガーを使用して AS3 の外部でリダイレクトを検出する方法を知っています。AS3 内のリダイレクト チェーンへのアクセスに特に関心があります。HttpStatusEventを介して AIR プレーヤーを使用することは可能であるように見えますが、Flash Player を使用する場合、関連するプロパティは使用できません。

編集 2 - HTTP クライアント ライブラリ (具体的には as3httpclientlib) も使用してみました。これは、/crossdomain.xml への HTTP 要求を作成するのではなく、ポート 843 からクロスドメイン ポリシーをロードするという事実を除いて機能します。私が取り組んでいるコンテキストでは後者が必要なため、Socket がポート 843 の代わりに HTTP からクロスドメイン ポリシーをロードするように強制する方法がない限り、Socket の基礎となるものを使用しても機能しません。

4

1 に答える 1

1

元の URL はもう使用されるべきではないため、通常はリダイレクトが行われます。このファイルは example.com/a.gif には存在しないため、理論上はそのことを知る必要はありません。なぜ中間リクエストパスが必要なのですか?

リクエストのリダイレクトチェーンを見つけるアクションスクリプトの方法はわかりませんが、特定のチェーンに対してそれを行いたい場合は、Firefox の HttpFox を使用するか、Google Chrome で f12 を押して、作成時にネットワークタブを確認します。リダイレクトする URL へのリクエスト。これは、クライアントがサーバーによって新しいアドレス (HTTP 302 応答など) にリダイレクトされた場合にのみ機能します。誰かのブラウザーが example.com/ を要求したときに、サーバーが example3.com/c.gif のコンテンツを返すことを選択した場合a.gif あなたにできることは何もありません。

于 2013-04-04T00:23:25.723 に答える