Comment envoyer des guillemets doubles dans paramètre-d pour le roulage.exe?

Comment puis-je envoyer un double guillemet en utilisant curl.exe dans le d paramètre. Je ne veux pas D'URL Encoder la double citation. Comme les données-d doivent être entourées de guillemets, Je ne peux pas les faire fonctionner.

ou y a-t-il un autre drapeau pour boucler.exe qui lui dit d'utiliser un contenu de fichiers pour l'ensemble des données POST form?

28
demandé sur slolife 2010-12-23 01:13:29

5 réponses

Vous pouvez certainement s'échapper les guillemets doubles. Cela dépend de votre système d'exploitation et de votre interpréteur de commandes, que vous ne précisez pas. Sur Windows, vous utilisez le ^ comme caractère d'évasion.

Vous pouvez aussi faire ceci:

curl [...] -d @filename 

...qui lit les données post d'un fichier appelé filename.

Google et / ou man est votre ami.

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

12
répondu martona 2010-12-22 22:23:35
fonctionne avec cette forme:

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

c'est à dire doublequotes autour des données, et doublequotes masqués par la barre oblique inverse à l'intérieur de

29
répondu Alexander Chuprin 2016-12-02 06:41:54

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

5
répondu Isac 2010-12-22 22:19:52

Pour l'échappement de devis double question, je suis la recherche que tripler le doublequotes œuvres de la coque:

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

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

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

ce qui est assez gênant pour tester dans le shell en premier.

5
répondu Gaz 2013-10-14 13:57:15

Il y a quelque chose qui s'appelle dollar slashy chaîne.

def cmd = $/ curl -d '{"param":"value"}' -X POST https://example.com/service /$
sh cmd
0
répondu Anand Rockzz 2018-07-13 00:28:13