diff --git a/modules/caissedepargne/browser.py b/modules/caissedepargne/browser.py index 70f0ec9e00a8ada4951f118bcf136f1d378c368d..7adad3ec874192d575be4b38b82e5ff1dd262e63 100644 --- a/modules/caissedepargne/browser.py +++ b/modules/caissedepargne/browser.py @@ -38,7 +38,7 @@ ) from weboob.tools.capabilities.bank.transactions import sorted_transactions, FrenchTransaction from weboob.tools.capabilities.bank.investments import create_french_liquidity -from weboob.tools.compat import urljoin +from weboob.tools.compat import urljoin, urlparse from weboob.tools.value import Value from weboob.tools.decorators import retry @@ -380,7 +380,11 @@ def get_measure_accounts_list(self): def update_linebourse_token(self): assert self.linebourse is not None, "linebourse browser should already exist" self.linebourse.session.cookies.update(self.session.cookies) - self.linebourse.session.headers['X-XSRF-TOKEN'] = self.session.cookies.get('XSRF-TOKEN', domain='www.caisse-epargne.offrebourse.com') + # It is important to fetch the domain dynamically because + # for caissedepargne the domain is 'www.caisse-epargne.offrebourse.com' + # whereas for creditcooperatif it is 'www.offrebourse.com' + domain = urlparse(self.url).netloc + self.linebourse.session.headers['X-XSRF-TOKEN'] = self.session.cookies.get('XSRF-TOKEN', domain=domain) @need_login @retry(ClientError, tries=3)