ich eine erste HTTP-Anforderung aus mit HttpRequest- Senden> send(), und ich erhalte eine 302-Antwort mit den folgenden Set-Cookie-Header:Kopieren Cookies von der ersten Reaktion auf nächste Anfrage
- Set- Cookie: SESSION_SCOPE = 1; Pfad =/
- Set-Cookie: III_EXPT_FILE = aa2171; Pfad = /; domain = .beispiel.com
- Set-Cookie: III_SESSION_ID = 193a3ce5aaadea85937c25cd0430332f; Domäne = .beispiel.com; path =/
Wenn ich HttpRequest-> getResponseCookies(), ist es das, was die extrahierten Inhalt wie folgt aussieht:
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 kopieren auf die nächste abgehende Anforderung an die umgeleiteter Standort Ich verwende HttpRequest-> setCookies(), wobei das Argument das Array ist, das vom vorherigen Aufruf getResponseCookies() zurückgegeben wurde.
Was ich in der ausgehenden Anforderung sehen 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:
- Was ist der richtige Weg, dies zu tun? Weil die Array-Indizes natürlich auch dem Header hinzugefügt werden
- Wie kann ich die URL-Codierung der Parameter verhindern?
- Wie kann ich verhindern, dass die Attribute 'Pfad' und 'Domäne' zum Header hinzugefügt werden?
Vielen Dank!