Ermitteln, was jQuery .ajax () eine Zeichenfolge von Redirects auflöst

8

Ich bin mir bewusst, dass Redirects automatisch gefolgt werden und dass ich wenig / keine Kontrolle über diesen Prozess habe. Das ist in Ordnung, aber ich bin immer noch sehr daran interessiert, wo meine Anfrage letztendlich endet. Ist es möglich zu sehen, auf welche URL meine Anfrage letztendlich kommt?

Ich nicht möchte mich auf das zurückgegebene HTML selbst verlassen, um mir mitzuteilen, wo ich bin.

Beispielcode:

%Vor%

Ich schaue mich in jqXHR um, aber bisher kein Glück. (Obwohl ich neu bin, wahrscheinlich direkt vor meiner Nase)

    
Chuck 20.07.2011, 19:51
quelle

3 Antworten

4

Soweit ich weiß (und getestet habe), ist es nur möglich zu erkennen, ob es eine Weiterleitung gegeben hat und wie viele Umleitungen gemacht wurden (aber nicht wo).

Sie können sich meinen Code ansehen:

%Vor%

Die jqXHR.getAllResponseHeaders() Ausgabe auf meinem Dev-Rechner ist so:

%Vor%

Das Keep-Alive: timeout=15, max=98 ist es wert, genauer betrachtet zu werden. Kein Redirect-Ergebnis in max=99 , während ONE-Redirect zu max=98

führt     
scube 05.08.2011, 01:31
quelle
1

XMLHttpRequest.responseXML ist ein Dokument, das bedeutet, dass es eine baseURI -Eigenschaft besitzt, die der Ort ist, von dem die Daten heruntergeladen wurden. Das Hauptproblem besteht darin, dass responseXML nur gesetzt wird, wenn Sie ein XML-Dokument zurückbekommen. In Firefox funktioniert overrideMimeType() , obwohl ein Syntaxfehler im Dokument gemeldet wurde:

%Vor%

Leider benötigen Sie in Chrome ein echtes XML-Dokument, overrideMimeType() hilft nicht. Und MSIE implementiert diese Methode nicht einmal (was keine große Sache ist, da das Bestimmen der Dokumentquelle dort unmöglich scheint).

    
Wladimir Palant 10.08.2011 18:23
quelle
0

Ich bin mir nicht sicher, welche Magie sie Server-Seite verwenden, aber www.longURL.com macht, worüber Sie sprechen.

Ihr Code sendet eine Anfrage an ihren Server:                            

Sie haben einen jquery-Plug-In: Ссылка

Ich bin mir nicht sicher, wie ich die Zwischenschritte daraus machen soll, aber ihre Webseite enthält die Weiterleitungen, also müssen sie einen Weg gefunden haben, dies zu tun, was bedeutet, dass sie wahrscheinlich eine Möglichkeit haben, das zu erreichen.

>

Um es zu verwenden, müssen Sie sich ihr jquery-Plugin ansehen, um herauszufinden, wo sie die tatsächlichen Daten anfordern.

BEARBEITEN

Gestatten Sie mir, diese abgrundtief unzureichende Antwort zu korrigieren:

Ссылка hat einen Dienst, der verkürzte URLs erweitert.

Ihre Hauptwebsite verfolgt (bei Erweiterung einer URL) jede Weiterleitung, bis Sie Ihr endgültiges Ziel erreicht haben.

Wenn du getan hast, was auch immer sie getan haben, könntest du das gleiche tun.

Leider weiß ich nicht was sie tun (abgesehen davon, dass sie ihre Anfrage an einen Server senden, der wahrscheinlich speziell nach 303s horcht).

Ihr jQuery-Plugin kann nützlich sein oder nicht. Wenn es die Weiterleitungen freilegt und Sie herausfinden könnten, wie man das System jimmy ausrichtet, können Sie es möglicherweise über ihren Dienst erhalten, andernfalls könnten Sie einen verkürzten Link zu dem ursprünglichen Link erstellen und die Ergebnisse durch ihren Dienst trotzdem erhalten ... klingt schmerzhaft, aber wenn Sie nicht in der Lage / nicht bereit sind, Server-Sachen zu tun, dann ist das wahrscheinlich Ihre beste Option.

    
Crisfole 11.08.2011 18:23
quelle