webdevqa.jp.net

HTTP GETリクエストでファイルのURLを取得するにはどうすればよいですか?

次のようにHTTPGETリクエストを行うことで定期的にアクセスするWebサーバーがあります:http://www.example.com/index.php?file=12&hd=0

コンテンツタイプがvideo/x-flvでさまざまなコンテンツ長のOK応答を返します。明らかに、これは.flvファイルをダウンロードします、そして私がそれをダウンロードしているので、それはどこかのウェブ上でホストされなければなりません。

ただし、このファイルのdirectURLを取得する方法がわかりません。 WiresharkとFiddler4を使用してみましたが、役に立ちません。 Sync Video で使用できるようにURLを取得しようとしています。これは、ビデオファイルへの直接URLを受け入れることができます。ただし、上記の例のようなリンクを試しても機能しません。

2
Tsaleman

ファイルにアクセスする他の方法はないと思います。 PHPスクリプトは、おそらくプライベートローカルファイルを読み取り、データを出力ストリームにリダイレクトするだけです。

これはおそらく、ホットリンクを防ぐために行われます。ファイルをダウンロードするにはPHPスクリプトを呼び出す必要があるため)、データをクライアントにストリーミングする前に、特定の項目(ログインしている場合など)を確認できます。

スクリプトが何もチェックせず(またはIPアドレスのみをチェックし)、プログラムが拡張子を持たないためにURLを拒否するだけの場合は、次のように偽造してみてください。

http://www.example.com/index.php?file=12&hd=0&ext=.flv

.flvで終わるURLにダミーの引数を追加することにより、プログラムはURLを受け入れる可能性があります。

2

ファイルに直接アクセスする方法は必ずしもありません。

プライベートフォルダ内のWebサーバーに存在する場合もあれば、Webサーバーのみがアクセスできるまったく別のサーバーに存在する場合もあります。投稿されたURLは、ファイルにアクセスする唯一のパブリックメソッドである可能性があります。

Wiresharkキャプチャに301または302リダイレクトが表示されない限り、Webサーバーに問い合わせてファイルの取得元を見つける方法はありません。

0
Paul