Вам необходимо передать переменные post в качестве содержимого запроса на отправку. Наиболее распространенным способом является application/x-www-form-urlencoded
, хотя multipart/form-data
может использоваться, если вам нужно выполнить загрузку файлов; см. here для получения подробной информации о кодировках.
Чтобы передать информацию в запрос POST с использованием application/x-www-form-urlencoded
, вам необходимо передать это как тип контента, а строку запроса с кодировкой url в качестве содержимого. Нечто подобное должно работать:
(thttp:http-post "http://example.com/submit-form" "application/x-www-form-urlencoded"
"foo=bar&baz=quux")
Если вам нужно бежать строки, которые будут переданы в качестве ключей или значений для запросов POST, то вы можете использовать escape-url-query
, чтобы избежать их, чтобы безопасно передать в URL -кодированный корпус:
(thttp:http-post "http://example.com/submit-form" "application/x-www-form-urlencoded"
(format nil "foo=~a&bar=~a" (thttp:escape-url-query foo)
(thttp:escape-url-query bar))))