web-dev-qa-db-fra.com

Comment POST URL dans les données d'une requête curl

J'essaie de poster deux paramètres en utilisant curl, path et fileName:

curl --request POST 'http://localhost/Service' --data "path='/xyz/pqr/test/'&fileName='1.doc'"

Je sais que quelque chose ne va pas dans ce domaine. Je dois utiliser quelque chose comme URLEncode. J'ai essayé beaucoup de choses mais toujours pas de chance.

S'il vous plaît donner un exemple comment puis-je poster l'URL dans les données de la demande curl.

37
Vivek Muthal

Peut-être que vous n'avez pas à inclure les guillemets simples:

curl --request POST 'http://localhost/Service' --data "path=/xyz/pqr/test/&fileName=1.doc"

Mise à jour: En lisant le manuel de curl, vous pourriez en fait séparer les deux champs avec deux --data:

curl --request POST 'http://localhost/Service' --data "path=/xyz/pqr/test/" --data "fileName=1.doc"

Vous pouvez aussi essayer --data-binary:

curl --request POST 'http://localhost/Service' --data-binary "path=/xyz/pqr/test/" --data-binary "fileName=1.doc"

Et --data-urlencode:

curl --request POST 'http://localhost/Service' --data-urlencode "path=/xyz/pqr/test/" --data-urlencode "fileName=1.doc"
53
konsolebox

Je ne pense pas qu'il soit nécessaire d'utiliser des demi-guillemets autour des variables, essayez:

curl -XPOST 'http://localhost/Service' -d "path=%2fxyz%2fpqr%2ftest%2f&fileName=1.doc"

%2f est le code d'échappement d'un /.

http://www.december.com/html/spec/esccodes.html

Aussi, avez-vous besoin de spécifier un port? (vérifiant simplement :))

2
Patrick