Я пытаюсь использовать Curl для отправки некоторых данных. Вот самый простой пример, который работает:
curl -v -H "Content-type: text/html" 127.0.0.1:1111
Я вижу вывод, как это:
GET / HTTP/1.1
Host: 127.0.0.1:1111
User-Agent: curl/7.49.1
Accept: */*
Content-type: text/html
Content-type установлен там в выводе. Оно работает. То, что я хочу, это ввести тип содержимого с помощью переменной среды.
Я пишу это:
HTML='-H "Content-Type: text/html"
Затем в следующей команде я пишу это:
curl -v $HTML 127.0.0.1:1111
Но это не удалось. Мне дают этот вывод:
GET / HTTP/1.1
Host: 127.0.0.1:1111
User-Agent: curl/7.49.1
Accept: */*
"Content-Type: text/html"
Curl не делает настоящий заголовок, это просто свободная строка. Он заключен в кавычки и имеет отступ, как вы можете видеть выше. Это отличается от предыдущего и поэтому команда не работает. Он отклоняется сервером как неправильный тип контента.
Я попытался использовать --header вместо -H, как это:
HTML='--header "Content-Type: text/html"'
Это дает запутанную ошибку:
curl: option --header "Content-Type: text/html": is unknown
curl: try 'curl --help' or 'curl --manual' for more information
Я сбит с толку. Я видел другие сообщения от людей, которым нужна переменная окружения в данных поста, что является другой проблемой.
Я использую zsh и Curl на MAC OS X. Надеюсь, мой пример достаточно прост.
Спасибо за ваше время и помощь!