Common lisp 临时http使用

Common lisp 临时http使用,common-lisp,Common Lisp,我无法理解如何使用平凡的http库将参数传递给http post请求。 我可以写一篇文章,但我不知道如何传递文章变量。作为字符流 您应该将帖子正文编码为字符串。例如,见。若要从字符串生成字符流,请与“从字符串输入”或“生成字符串流”一起使用。您需要将post变量作为post请求的内容传入。最常见的方式是application/x-www-form-urlencoded,但如果需要上传文件,可以使用多部分/表单数据;有关编码的详细信息,请参见 要使用application/x-www-form-u

我无法理解如何使用平凡的http库将参数传递给http post请求。 我可以写一篇文章,但我不知道如何传递文章变量。作为字符流


您应该将帖子正文编码为字符串。例如,见。若要从字符串生成字符流,请与“从字符串输入”或“生成字符串流”一起使用。

您需要将post变量作为post请求的内容传入。最常见的方式是
application/x-www-form-urlencoded
,但如果需要上传文件,可以使用
多部分/表单数据
;有关编码的详细信息,请参见

要使用
application/x-www-form-urlencoded
在POST请求中传递信息,需要将其作为内容类型传入,并将url编码的查询字符串作为内容传入。像这样的方法应该会奏效:

(thttp:http-post "http://example.com/submit-form" "application/x-www-form-urlencoded"
                 "foo=bar&baz=quux")
如果需要转义将作为POST请求的键或值传入的字符串,则可以使用
转义url查询
将其转义,以便在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))))