GNU/Linux >> Tutoriels Linux >  >> Linux

CURL pour accéder à une page qui nécessite une connexion à partir d'une autre page

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.


Linux
  1. Comment utiliser Sftp sur un système qui nécessite Sudo pour l'accès root et l'authentification basée sur la clé Ssh ?

  2. Awk de différentes lignes ?

  3. Comment accéder à votre page de connexion Plesk

  4. Quelles sont les différentes manières d'afficher un message dans un shell bash après la connexion d'un utilisateur ?

  5. en quoi cp -f est-il différent de cp --remove-destination ?

Différentes façons d'accéder à Google Drive sur Linux Desktop

6 fonctionnalités que Windows 10 a tirées de Linux

Comment accéder aux partitions Linux à partir de Windows 10

RabbitMQ - Récupère les messages d'une file d'attente à l'aide de curl

Arrêt à partir de l'invite de connexion dans tty

Comment distinguer l'entrée de différents claviers ?