web-dev-qa-db-fra.com

Commande Curl pour émettre une demande POST

Je suis dans mon terminal et je souhaite envoyer une demande POST à une URL donnée. J'ai testé cela avec un client REST donc je sais que les paramètres fonctionnent.

Disons donc que je veux POST les paramètres suivants:

  • nom d'utilisateur = tony
  • mot de passe = secret

À mon URL: https://exmaple.com/login/

J'ai essayé la commande curl suivante dans mon terminal (j'utilise OSX Lion)

curl --data "username=tony&password=secret" http://exmaple.com/login/

Je reçois un 500 Server Error de retour du serveur donc je pense maintenant à quelque chose qui pourrait être différent entre le client REST et la commande curl.

Merci de votre aide

Mise à jour: J'utilise un service https. Dois-je ajuster ma commande curl pour en tenir compte?

26
Besi

Essaye ça

curl -F username=tony -F password=secret http://exmaple.com/login/

-F ( référence ) devrait probablement faire la même chose que --data? Le problème est peut-être dans l'application Web.

Peut-être que l'application que vous utilisez utilise l'authentification de base pour l'authentification? Essaye celui-là:

curl --user name:password http://exmaple.com/login/
23
russau