Спасибо за ответ. Он укрепил мою уверенность что я рою в верном направлении
В итоге нарыл пакет на питоне для соединения с гарминовским сайтом и закачки файлов - т.е. пакет делает то что мне надо. Для закачки он использует тот же URL
https://github.com/petergardfjall/garminexport
при запуске пакета сначала идет авторизация, потом там есть код типа
def _get_csrf_token(self):
"""Retrieves a Cross-Site Request Forgery (CSRF) token from Garmin's login
page. The token is passed along in the login form for increased
security."""
log.info("fetching CSRF token ...")
resp = self.session.get(SSO_LOGIN_URL, params=self._auth_params())
if resp.status_code != 200:
raise ValueError("auth failure: could not load {}".format(SSO_LOGIN_URL))
# extract CSRF token
csrf_token = re.search(r'<input type="hidden" name="_csrf" value="(\w+)"',
resp.content.decode('utf-8'))
if not csrf_token:
raise ValueError("auth failure: no CSRF token in {}".format(SSO_LOGIN_URL))
return csrf_token.group(1)