Problème

Lors de l’exécution des commandes cURL, aucun retour n’est reçu de AEM. Le terminal n’affiche aucun résultat après l’exécution de la commande.
Par exemple, la commande ci-dessous ne renvoie aucune valeur

curl -u admin:pass http://IP:PORT/

Cause

La commande cURL n’affiche aucun résultat sur le terminal, car la réponse envoyée par le serveur AEM ne contient pas de message dans le corps de la réponse HTML. En revanche, le code d’erreur HTTP s’affiche dans les en-têtes de la réponse HTTP.

Généralement, le problème vient soit du nom d’utilisateur et du mot de passe fournis dans la commande curl, soit du fait que les informations d’identification ne sont pas accessibles comme prévu pour le serveur AEM. Pour comprendre le problème, utiliser l’indicateur -v dans la commande cURL pour comprendre la nature de l’erreur.

La commande suivante, qui ne renvoie aucun résultat, peut être modifiée comme expliqué ci-dessous :

FROM
curl -u admin: pass http://IP:PORT/
TO
curl -v -u admin: pass http://IP:PORT/

Le résultat sur terminal peut se présenter comme suit, qui indique comme code d'erreur HTTP 401 non autorisé.

*   Trying ::1...
* Connected to IP (::1) port PORT (#0)
* Server auth using Basic with user 'admin'
> GET /aem/start.html HTTP/1.1
> Host: IP:PORT
> Authorization: Basic YWRtaW46YWRtaW4=
> User-Agent: curl/7.43.0
> Accept: */*
> 
< HTTP/1.1 401 Unauthorized
< Date: Thu, 17 May 2018 14:05:09 GMT
* Authentication problem. Ignoring this.
< WWW-Authenticate: Basic realm="Sling (Development)"
< Transfer-Encoding: chunked
< 
* Connection #0 to host IP:PORT left intact

Résolution

  • Vérifiez que les informations d’identification utilisées dans la commande cURL sont exactes et qu’un utilisateur peut se connecter à AEM à l’aide des mêmes informations d’identification.
  • Si l’utilisateur peut se connecter à AEM à l’aide des mêmes informations d’identification, le problème est probablement dû à la livraison des informations d’identification. Dans ce cas, les informations d’identification dans des guillemets simples peuvent résoudre le problème. C'est généralement le cas lorsqu'il y a des caractères spéciaux dans le mot de passe, par exemple $, @, et ainsi de suite.
curl -v -u 'admin:pass' http://IP:PORT/

Informations supplémentaires

Vous pouvez déterminer si vous obtenez d'autres erreurs en ajoutant l'indicateur -v à la commande curl pour inclure les en-têtes HTTP dans la sortie :
curl -v -u admin: admin http://localhost:4502/crx/packmgr/service.jsp?cmd=help

Ce produit est distribué sous licence Creative Commons Attribution - Pas d’utilisation commerciale - Partage à l’identique 3.0 non transposé  Les publications Twitter™ et Facebook ne sont pas couvertes par les dispositions Creative Commons.

Mentions légales   |   Politique de confidentialité en ligne