URL Umleitung



  • Hallo,

    ich möchte beim Aufruf einer domain ggf. mit einem Web-Client die Adresse der Weiterleitung
    herausfinden.

    z.B.: http://www.beispieldomain.de/ -> http://www.beispieldomain.de/abc/1.htm

    Normalerweise wird bei Aufruf von http://www.beispieldomain.de/ die Fehlermeldung 302 (Umleitung)
    zurückgegeben und im header unter "Location: http://www.beispieldomain.de/abc/1.htm" ausgegeben.

    Etliche Server geben aber die Fehlermeldung 200 (OK) zurück und machen im header keine
    "Location: " Angabe.

    Browser zeigen die Weiterleitung sofort in der Adresszeile an.
    Mir ist nicht klar, mit welchem Mechanismus das geschieht.
    Vielen Dank für Hinweise!

    KS



  • Wenn es nicht 301, 302 oder 303 ist, ist es höchstwahrscheinlich

    meta http-equiv="refresh"
    


  • Nein. Der Header sieht in so einem Bespiel wie folgt aus:

    HTTP/1.1 200 OK
    Date: Fri, 06 Mar 2015 21:06:52 GMT
    Server: Apache
    Vary: Accept-Encoding
    Keep-Alive: timeout=1, max=99
    Connection: Keep-Alive
    Transfer-Encoding: chunked
    Content-Type: text/html

    Kein Hinweis auf die Umleitung.

    Gruß!
    KS



  • Hallo

    Das vom EOP angegeben Tag findest du nicht im Header des Telegramms, sondern imHeader des HTML.

    Mfg Marco



  • Hallo,

    meinst Du den
    <head>
    ....
    ....
    </head>

    Bereich der HTML Datei?
    Dort findet sich ebenfalls nichts. Trotzdem Danke.
    KS



  • JavaScript?

    Mein Weiterleitungs-Template sieht so aus:

    <!DOCTYPE HTML>
    <html lang="en-US">
        <head>
            <meta charset="UTF-8">
            <meta http-equiv="refresh" content="1;url=https://irgend.wo/anders">
            <script type="text/javascript">
                window.location.href = "https://irgend.wo/anders"
            </script>
            <title>Page Redirection</title>
        </head>
        <body>
            If you are not redirected automatically, please follow <a href='https://irgend.wo/anders'>this link to irgendwo anders.</a>
        </body>
    </html>
    


  • Wieder nicht.
    Wäre es möglich, daß die Adresse der Weiterleitung auch durch etwas anderes als "window.location.href" angegeben wird?

    Ein konkretes Beispiel für mein Problem ist die Osnabrücker Allgemeine Zeitung:
    Wenn mann "http://www.oaz-online.de/" in die Browserzeile eingibt wird man nach
    "http://www.oaz-online.de/web/oaz/nachrichten/" umgeleitet.
    Weder im header oder im HTML <head> findet sich eine Sprunganweisung.
    Mir ist nicht klar, woher der Browser die Adresse der Umleitung kennt.

    KS



  • Laut
    http://web-sniffer.net/
    kommt bei
    http://www.oaz-online.de/
    das zurück:

    Status: HTTP/1.1 301 Unknown Error 
    Server:	Varnish	
    Retry-After:	0	
    Location:	/web/oaz/nachrichten/	
    Date:	Fri, 06 Mar 2015 23:46:43 GMT	
    X-Varnish:	1345073482	
    Age:	0	
    Via:	1.1 varnish	
    Connection:	close	
    X-Server:	lvz-lb	
    X-Cache:	MISS
    

    Also eh ein ganz normales HTTP 301 "moved permanently".

    EDIT:
    Wenn du HTTP 200 bekommst, dann verarbeitet der Client mit dem du die Response lädst die HTTP 3xx Codes vermutlich einfach selbst.
    Wie wget.exe es z.B. auch macht.



  • ks schrieb:

    Mir ist nicht klar, woher der Browser die Adresse der Umleitung kennt

    Also nochmal:

    meta http-equiv="refresh"

    oder irgendein js- oder ajax-zeugs, aber normalerweise meta...

    EDIT:
    Wenn du das LiveHTTPHeaders-addon für Fiefox benutzt kannst du dir die requests ansehen.
    Danach gehst du eben zurück zum Quelltext der Seite und suchst die Adresse die letztendlich geladen wird.
    Nächste Stufe wäre ein HTTP Debugger.
    Übernächste Stufe wäre wireshark.

    Die ersten zwei Stufen sind nun wirklich nicht Raketenwissenschaft. wireshark geht auch noch wenn du mit einem bißchen Verstand ausgestattet bist.

    EDIT:
    Schreibfehler und noch mehr Schreibfehler um 4 morgens. Deswegen ein paar edits.



  • Vielen Dank für Eure Antworten! Ich habe den Fehler zwar noch nicht gefunden, aber es scheint so zu sein, daß in meiner Anwendung falsche header ausgeliefert werden.


Anmelden zum Antworten