Mon but est de pouvoir me connecter à un compte sur un site (en SSL) et pour cela avoir plusieurs composants TIdHttp, chacun dédié à une fonction du compte. L'objectif est de pouvoir threader les idHttp.
Dans un premier temps, j'ai posé sur mon Form:
IdHttp1 + IdSSLIOHandlerSocketOpenSSL +CookieManager1
J'accède à la page de garde du site pour initialiser tous les cookies requis, puis je renseigne mon login et me connecte. Ca marche bien pas de soucis.
Maintenant je pose un deuxième idHttp (idHttp2) avec son propre IdSSLIOHandlerSocketOpenSSL. (IdSSLIOHandlerSocketOpenSSL2). Je lui assigne le CookieManager1. Je tente alors de lire une option de mon compte à partir de idHttp2 et cela fonctionne.
Mais comme mon objectif est d'avoir des threads, j'imagine que le TidCookieManager n'est pas prévu à cet effet (plusieurs IdHttp pour un même idCookieManager) , il me faut donc assigner à chaque idHttp son propre idCookieManager.
Je pose donc un deuxième idCookieManager (idCookieManager2) que j'affecte à idHttp2.
Une fois connecté à mon compte avec idHttp1, je duplique les cookies avec:
idCookieManager2.CookieCollection.Assign(idCookiemanager1.CookieCollection);
Je tente alors de lire une option de mon compte avec idHttp2 et là, ça coince. Il ne reconnait pas ma connexion au compte.
La collection de cookies est pourtant recopiée (même nombre). J'ai même essayé de recopier cookie par cookie, même soucis.
D'ou peut venir le problème?![]()
Partager