Michael_K: XMLHttpRequest von http:// auf https:// umleiten

Hallo,

ich habe das Problem, dass ich xml Dokumente nach Vorgabe von einer Liste von URLs mit xmlhttprequest aufrufe und verarbeite. Einige der URLs werden von den Servern auf https 'umgebogen' und xmlhtprequest gibt mir dann einen Fehler, dass die Datei nicht vorhanden ist. Kann man das irgendwie sauber lösen. Ich habe mal mit curl -v so eine URL aufgerufen und bekomme diese Antwort:

(Achtung, die Daten habe ich anonymisiert/abgeaendert)

  • Adding handle: conn: 0x0000000000
  • Adding handle: send: 0
  • Adding handle: recv: 0
  • Curl_addHandleToPipeline: length: 1
    • Conn 0 (0x0000000000) send_pipe: 1, recv_pipe: 0
  • About to connect() to www.xxxx.eu port 80 (#0)
  • Trying XXX.XXX.XXX.XXX
  • Connected to www.xxxx.eu (XXX.XXX.XXX.XXX) port 80 (#0)

GET /test/2019/test.xml HTTP/1.1

User-Agent: curl/7.30.0

Host: www.xxxx.eu

Accept: /

HTTP/1.1 302 Found : Moved Temporarily

Location: https://www.xxxx.eu/test/2019/test.xml

Connection: close

Cache-Control: no-cache

Pragma: no-cache

Wie bindet man so etwas sauber ein, dass man automatisch die neue Location abruft?

  1. Wie bindet man so etwas sauber ein, dass man automatisch die neue Location abruft?

    Indem man den relevanten Responseheader (Location) und den Status auswertet. MFG

  2. Hallo Michael_K,

     HTTP/1.1 302 Found : Moved Temporarily
     Location: https://www.xxxx.eu/test/2019/test.xml
    

    … Wie bindet man so etwas sauber ein, dass man automatisch die neue Location abruft?

    XmlHttpRequest folgt Redirects automatisch, da musst du gar nichts für tun. Wenn du „file not found“ als Fehler bekommst, würde ich prüfen, ob das Weiterleitungs-Ziel, dass da via Location angegeben ist, tatsächlich auch stimmt und die angegebene Resource abrufbar ist.

    LG,
    CK

    1. XmlHttpRequest folgt Redirects automatisch, da musst du gar nichts für tun.

      Bei GET würde ich auch davon ausgehen. Aber bei POST scheint mir das unwahrscheinlich. Ja, hier geht es um GET. Wollte nur meinen Senf ablassen 😉

      1. Hallo,

        Bei GET würde ich auch davon ausgehen. Aber bei POST scheint mir das unwahrscheinlich. Ja, hier geht es um GET. Wollte nur meinen Senf ablassen

        das ist interessant (POSTvs. GET). Das werde ich mal ausprobieren, ob es einen Unterschied macht. Die Datei ist unter der anderen URL-Adresse verfügbar, nur beim XMLHttpRequest kommt der Fehler.

        Gruss

    2. XmlHttpRequest folgt Redirects automatisch, da musst du gar nichts für tun. Wenn du „file not found“ als Fehler bekommst, würde ich prüfen, ob das Weiterleitungs-Ziel, dass da via Location angegeben ist, tatsächlich auch stimmt und die angegebene Resource abrufbar ist.

      Hallo,

      ich habe sowohl die Methode GET und POST probiert. Bei beiden Request-Methoden wird mir der Fehler ausgegeben (JS Chrome Engine). Wenn ich die URL im Browser aufrufe, dann erfolgt automatisch ein redirect auf die https:// Quelle. Also die Location ist richtig, aber bei mir macht XMLHttpRequest kein redirect.

      Gruss