J'envoie une première requête HTTP à l'aide HttpRequest-> send(), et je reçois une réponse 302 avec les éléments suivants en-têtes Set-Cookie:les cookies Copie de la première réponse à la demande suivante
- Set- Cookie: SESSION_SCOPE = 1; chemin =/
- Set-Cookie: III_EXPT_FILE = aa2171; chemin = /; domain = .example.com
- Set-Cookie: III_SESSION_ID = 193a3ce5aaadea85937c25cd0430332f; domaine = .example.com; path =/
Lorsque j'utilise HttpRequest-> getResponseCookies(), c'est ce que le contenu extrait ressemble à:
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)
)
Maintenant, je dois copier ces cookies à la prochaine demande sortante à la emplacement redirigé. J'utilise HttpRequest-> setCookies(), dans lequel l'argument est le tableau qui a été retourné à partir de l'appel précédent getResponseCookies().
Ce que je vois dans la requête sortante est:
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
Mes questions sont les suivantes:
- Quelle est la bonne façon de le faire? Parce que clairement les index de tableau sont également ajoutés à l'en-tête
- Comment puis-je empêcher le codage url des paramètres?
- Comment puis-je empêcher les attributs 'path' et 'domain' d'être ajoutés à l'en-tête?
Merci!