Ich sende eine erste HTTP-Anforderung mit HttpRequest->send(), und ich erhalte eine 302-Antwort mit den folgenden Set-Cookie-Headern:
- Set-Cookie: SESSION_SCOPE=1; path=/
- Eingestelltes Kriterium: III_EXPT_FILE=aa2171; path=/; domain=.example.com
- Set-Cookie: III_SESSION_ID=193a3ce5aaadea85937c25cd0430332f; domain=.example.com; path=/
Wenn ich HttpRequest->getResponseCookies() verwende, sieht der extrahierte Inhalt so aus:
Array (
- [0] => stdClass Object ( [cookies] => Array ( [SESSION_SCOPE] => 1 ) [extras] => Array ( ) [flags] => 0 [expires] => 0 [path] => / [domain] => )
- [1] => stdClass Object ( [cookies] => Array ( [III_EXPT_FILE] => aa2171 ) [extras] => Array ( ) [flags] => 0 [expires] => 0 [path] => / [domain] => .example.com )
- [2] => stdClass Object ( [cookies] => Array ( [III_SESSION_ID] => 193a3ce5aaadea85937c25cd0430332f ) [extras] => Array ( ) [flags] => 0 [expires] => 0 [path] => / [domain] => .example.com )
)
Jetzt muss ich diese Cookies in die nächste ausgehende Anfrage an den umgeleiteten Standort kopieren. Ich verwende HttpRequest->setCookies(), in dem das Argument ist das Array, das von der vorherigen getResponseCookies() Aufruf zurückgegeben wurde.
Was ich in der ausgehenden Anfrage sehe, ist:
Cookie: 0%5Bcookies%5D%5BSESSION_SCOPE%5D=1; 0%5Bflags%5D=0; 0%5Bexpires%5D=0; 0%5Bpath%5D=%2F; 0%5Bdomain%5D=; 1%5Bcookies%5D%5BIII_EXPT_FILE%5D=aa2171; 1%5Bflags%5D=0; 1%5Bexpires%5D=0; 1%5Bpath%5D=%2F; 1%5Bdomain%5D=.example.com; 2%5Bcookies%5D%5BIII_SESSION_ID%5D=193a3ce5aaadea85937c25cd0430332f; 2%5Bflags%5D=0; 2%5Bexpires%5D=0; 2%5Bpath%5D=%2F; 2%5Bdomain%5D=.example.com
Meine Fragen sind:
- Wie geht man dabei richtig vor? Denn offensichtlich werden die Array-Indizes auch in der Kopfzeile hinzugefügt
- Wie kann ich die Url-Kodierung der Parameter verhindern?
- Wie kann ich verhindern, dass die Attribute "Pfad" und "Domäne" zur Kopfzeile hinzugefügt werden?
Gracias.