web-dev-qa-db-fra.com

Comment envoyer un guillemet double en paramètre -d pour curl.exe?

Comment envoyer un double guillemet en utilisant curl.exe dans le paramètre -d. Je ne veux pas que l'URL code la double citation. Étant donné que les données -d doivent être entourées de guillemets doubles, je n'arrive pas à les faire fonctionner.

Ou existe-t-il un autre indicateur pour curl.exe qui lui indique d'utiliser un contenu de fichiers pour l'ensemble des données de publication du formulaire?

32
slolife

Vous pouvez très certainement échapper aux guillemets doubles. La façon dont vous procédez dépend de votre système d'exploitation et de Shell, que vous ne spécifiez pas. Sous Windows, vous utiliseriez le ^ comme caractère d'échappement.

Vous pouvez également le faire:

curl [...] -d @filename 

... qui lit les données de publication à partir d'un fichier appelé nom de fichier.

Google et/ou l'homme est votre ami.

http://curl.haxx.se/docs/manpage.html

13
martona

Ma curl.exe fonctionne avec ce formulaire:

-d "{\"param\":\"value\"}"

c'est-à-dire des guillemets doubles autour des données et des guillemets doubles masqués avec une barre oblique inversée à l'intérieur

37

Pour échapper à la question des guillemets doubles, je trouve que tripler les doubles guillemets fonctionne à partir du shell:

curl -d {"""foo""":"""bar"""}

tout en doublant les guillemets doubles fonctionne à partir d'un fichier batch:

curl -d {""foo"":""bar""}

Ce qui est assez ennuyeux pour les tests dans le Shell en premier.

5
Gaz

Vous pouvez entourer les données de guillemets simples et utiliser des guillemets doubles à l'intérieur.

5
Isac