Vous pouvez également vous connecter via un navigateur et obtenir la commande avec tous les en-têtes, y compris les cookies :
Ouvrez l'onglet Réseau des outils de développement, connectez-vous, accédez à la page requise, utilisez "Copier en tant que cURL".
Le site Web utilise probablement des cookies pour stocker vos informations de session. Quand tu cours
curl --user user:pass https://xyz.example/a #works ok
curl https://xyz.example/b #doesn't work
curl
est exécuté deux fois, en deux sessions distinctes. Ainsi lorsque la deuxième commande s'exécute, les cookies définis par la 1ère commande ne sont pas disponibles; c'est comme si vous vous connectiez à la page a
dans une session de navigateur, et j'ai essayé d'accéder à la page b
dans un autre.
Ce que vous devez faire, c'est enregistrer les cookies créés par la première commande :
curl --user user:pass --cookie-jar ./somefile https://xyz.example/a
puis relisez-les lors de l'exécution de la seconde :
curl --cookie ./somefile https://xyz.example/b
Vous pouvez également essayer de télécharger les deux fichiers dans la même commande, ce qui, je pense, utilisera les mêmes cookies.
Après quelques recherches sur Google, j'ai trouvé ceci :
curl -c cookie.txt -d "LoginName=someuser" -d "password=somepass" https://oursite/a
curl -b cookie.txt https://oursite/b
Aucune idée si cela fonctionne, mais cela pourrait vous mener dans la bonne direction.