Подтвердить что ты не робот

Как отправить двойную кавычку в параметр -d для curl.exe?

Как отправить символ двойной кавычки с помощью curl.exe в параметре -d. Я не хочу, чтобы URL кодировал двойную кавычку. Поскольку данные -d должны быть заключены в двойные кавычки, я не могу заставить их работать.

Или есть другой флаг для curl.exe, который говорит ему использовать содержимое файла для всей формы данных публикации?

4b9b3361

Ответ 1

Вы, безусловно, можете избежать двойных кавычек. Как вы это делаете, зависит от вашей операционной системы и оболочки, которую вы не можете указать. В Windows вы должны использовать символ ^ как escape-символ.

Вы также можете сделать это:

curl [...] -d @filename 

..., который считывает данные из файла с именем filename.

Google и/или человек - ваш друг.

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

Ответ 2

My curl.exe работает с этой формой:

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

то есть. doublequotes вокруг данных, а двойные кавычки в масках с обратным слэшем внутри

Ответ 3

Вы можете окружать данные одинарными кавычками и использовать двойные кавычки внутри.

Ответ 4

Для того, чтобы избежать вопроса о двойной кавычки, я обнаружил, что утроение работы doublequotes из оболочки:

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

в то время как удвоение дубликатов работает из пакетного файла:

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

Это очень неприятно для тестирования в оболочке.

Ответ 5

Есть нечто, называемое долларовая неровная строка.

def cmd = $/ curl -d '{"param":"value"}' -X POST https://example.com/service /$
sh cmd