(Следующее предыстория, вы можете перейти к «Вопрос:», если хотите)
Есть веб-страница для одного из моих курсов, которая принимает входной текст (ожидается, что это код Python), а затем дает некоторый токенизированный ответ. Он предназначен для использования в качестве ссылки для лексеров Python, которые мы пишем. Я пытаюсь автоматизировать процесс тестирования и проверять мой код, не открывая браузер, не копируя текст туда-сюда и т.д. Итак, вот что я пытаюсь сделать:
У меня есть пример файла Python с именем «x.py», и я хочу отправить его на сервер, как если бы я заполнил эту форму. Я пробовал:
curl --data-urlencode "file=@x.py" http://matt.might.net/apps/pylex/pylex.php
Но, к сожалению, это не работает правильно, потому что очевидно, что "@x.py"
публикуется как содержимое моего файла (то есть "file=@x.py"
- это то, что публикуется, а не "file=<contents-of-x.py>"
). Я пробовал --form
и --data
но они тоже не сработали.
Вопрос: В частности, если у меня есть файл с содержимым, не закодированным в URL, и содержимое этого файла должно быть частью процедуры POST и связано с определенным именем (в данном случае, file
), каков правильный способ выполнения этот?