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?
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.
-d "{\"param\":\"value\"}"
c'est à dire doublequotes autour des données, et doublequotes masqués par la barre oblique inverse à l'intérieur de
Vous pouvez entourer les données avec des guillemets simples et utiliser des guillemets à l'intérieur.
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.
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