Wie erhält man die URL einer Datei in einer HTTP-GET-Anfrage?

Wie erhält man die URL einer Datei in einer HTTP-GET-Anfrage?

Es gibt einen Webserver, auf den ich regelmäßig zugreife, indem ich eine HTTP-GET-Anfrage wie die folgende mache:http://www.example.com/index.php?file=12&hd=0

Es wird eine OKAntwort mit einem Inhaltstyp video/x-flvund verschiedenen Inhaltslängen zurückgegeben. Offensichtlich wird dadurch eine .flvDatei heruntergeladen, und da ich sie herunterlade, muss sie irgendwo im Web gehostet sein.

Ich kann jedoch nicht herausfinden, wie ich dieDirekteURL dieser Datei. Ich habe versucht, Wireshark und Fiddler4 zu verwenden, aber sie helfen nicht. Ich versuche, die URL zu erhalten, damit ich sie verwenden kann aufVideo synchronisieren, das direkte URLs zu Videodateien akzeptieren kann. Der Versuch mit einem Link wie im obigen Beispiel funktioniert jedoch nicht.

Antwort1

Ich glaube nicht, dass es eine andere Möglichkeit gibt, auf die Datei zuzugreifen. Das PHP-Skript liest wahrscheinlich nur eine private lokale Datei und leitet die Daten an den Ausgabestream um.

Dies wird wahrscheinlich getan, um Hotlinking zu verhindern. Da das PHP-Skript aufgerufen werden muss, um die Datei herunterzuladen, kann es bestimmte Dinge überprüfen (z. B. ob Sie angemeldet sind), bevor die Daten an den Client gestreamt werden.

Wenn das Skript nichts prüft (oder nur Ihre IP-Adresse prüft) und das Programm die URL einfach ablehnt, weil sie keine Erweiterung hat, können Sie versuchen, sie vorzutäuschen:

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

Durch Hinzufügen eines Dummy-Arguments zur URL, das dafür sorgt, dass sie endet, .flvakzeptiert das Programm die URL möglicherweise.

Antwort2

Es gibt nicht unbedingt eine Methode für den direkten Zugriff auf die Datei.

Es kann durchaus sein, dass es sich in einem privaten Ordner auf einem Webserver befindet, oder es kann sich auf einem ganz anderen Server befinden, auf den nur der Webserver Zugriff hat. Die gepostete URL ist möglicherweise die einzige öffentliche Methode, auf die Datei zuzugreifen.

Sofern Sie in Ihrer Wireshark-Aufzeichnung keine 301- oder 302-Weiterleitung sehen, gibt es keine Möglichkeit, den Webserver abzufragen, um herauszufinden, woher er die Datei bezieht.

verwandte Informationen