Comment tester une connexion URL avec curl sous Linux ?

Pour tester une connexion, il faut d’abord générer un cookie via une première requête curl puis utiliser ce même cookie pour accéder aux pages de votre site. Voilà le principe :

Première requête : génération de cookie avec curl

curl "http://monURL/monFormulaire" -c  fichierCookie --data "param1=valeur1&param2=valeur2" 
Version simplifiée de la requête curl de génération de cookie

Deuxième requête : utilisation du cookie pour appeler une URL

curl -b fichierCookie URL

Ci-dessous on a un exemple concret, j’ai effectué un test de connexion de la page de login wordpress. Vous remarquerez que j’ai ajouté un certain nombre de paramètres avec l’option -H, ce sont des entêtes HTTP, elles sont indispensables. Notamment celle qui indique le user agent, à savoir la simulation du test de connexion via un navigateur web.

curl -c cookie.txt 'http://www.leblogdefatiha.com/wp-login.php' -H 'Origin: http://www.leblogdefatiha.com' -H 'Accept-Encoding: gzip, deflate' -H 'Accept-Language: fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4' -H 'Upgrade-Insecure-Requests: 1' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36' -H 'Content-Type: application/x-www-form-urlencoded' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' -H 'Cache-Control: max-age=0' -H 'Proxy-Connection: keep-alive' --data 'log=xxxxxx&pwd=xxxxxxx&wp-submit=Se+connecter&redirect_to=http%3A%2F%2Fwww.leblogdefatiha.com%2Fwp-admin%2F&testcookie=1' --compressed



curl -b cookie.txt "http://www.leblogdefatiha.com/wp-admin/users.php" -H 'Origin: http://www.leblogdefatiha.com' -H 'Accept-Encoding: gzip, deflate' -H 'Accept-Language: fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4' -H 'Upgrade-Insecure-Requests: 1' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36' -H 'Content-Type: application/x-www-form-urlencoded' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' -H 'Cache-Control: max-age=0' -H 'Proxy-Connection: keep-alive' --compressed
Test avec la page de connexion wordpress

 

Vous pouvez ainsi entrevoir toutes les possibilités qui vous sont offertes. Vous pouvez scripter ces tests et ainsi savoir si vos sites sont dispos et si l’authentification fonctionne.


Je me permets une petite diversion, vous trouverez ci-dessous un exemple concret de requête curl récupérée en me connectant sur twitter :

Sous Chrome, c’est simple de récupérer une requête curl, il vous suffit de suivre la procédure ci-dessous :

Vous vous connectez à votre compte twitter puis vous faîtes un clic droit sur la page « Inspecter ». Vous choisissez l’onglet Network, puis vous faîtes un clic droit sur le lien sessions et vous sélectionnez Copy puis « Copy as cURL (bash) » .




Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *