Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [PHP] Ziel einer URL-Weiterleitung ermitteln (https://www.delphipraxis.net/156249-%5Bphp%5D-ziel-einer-url-weiterleitung-ermitteln.html)

Nicolai1234 25. Nov 2010 07:22

[PHP] Ziel einer URL-Weiterleitung ermitteln
 
Hallo liebe DPler,

mein aktuelles Problem beschäftigt mich im Bereich von PHP, daher eine Frage in diesem Gebiet.
Folgendes; ich habe einen Link, der in etwa so aussieht: ....de/beispiel.php?id=10. Dieser Link leitet mich dann direkt zu ....de/dateixyz.zip weiter. Die Weiterleitung geschieht direkt, also man kommt auf keine Zwischenseite oder so - anscheiden via Header (Location : ...) gelöst

Wie kann ich jetzt innerhalb meines PHP-Skriptes das Ziel meines Links herausfinden? Es geht darum, dass ich die verlinkte Datei verarbeiten möchte und ich dazu (leider) den direkten Link benötige. Zur Verfügung gestellt wird mir der Link jedoch nur in der ersten Form.

Ich hoffe, ich habe mein Problem verständlich beschrieben,
vielen Dank im Voraus,

Matze 25. Nov 2010 08:20

AW: [PHP] Ziel einer URL-Weiterleitung ermitteln
 
Hallo,

ich vermute, du musst die URL aufrufen (fsockopen() & Co) und die Infos auslesen.
Das ist wahrscheinlich nicht über Location() gelöst, sondern über htaccess.

Ich kenne die Website und den Betreiber nicht, aber ist das denn zulässig? Ich persönlich hätte etwas dagegen, wenn man so z.B. versucht, irgendetwas zu umgehen, um an die Download-Direktlinks zu kommen (hab's aber abgesichert, dass nichtmal das geht).

alcaeus 25. Nov 2010 18:23

AW: [PHP] Ziel einer URL-Weiterleitung ermitteln
 
Moin,

nimm dir Firefox, installiere z.B. TamperData oder FireBug oder eine sonstige Extension fuer Web-Entwickler und rufe anschliessend die Seite auf. Wenn du nur einen Request siehst und anschliessend direkt das Download-Fenster aufpoppt dann wird die Datei direkt ausgegeben und du musst nichts weiter machen. Wenn es einen zweiten Request gibt dann ist logisch dass der erste Request nur einen Location-Header geschickt hast. Diesen kriegst du natuerlich nicht ueber file_get_contents() oder so raus. Da musst du entweder den HTTP-Request selbst nachstellen (fsockopen, fwrite, etc.) oder sowas wie Zend_Http_Client verwenden, wo du auf Response-Header zugreifen kannst.
BTW, file_get_contents folgt soweit ich weiss einer Weiterleitung - Voraussetzung ist natuerlich dass allow_url_fopen erlaubt ist.

Greetz
alcaeus


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:07 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz