trivial-httpライブラリを使ってhttp投稿要求に引数を渡す方法を考えることができません。 投稿を作成できますが、投稿変数を渡す方法がわかりません。文字ストリームとして。trvial-httpの使い方
http://common-lisp.net/project/trivial-http/user-guide.html#http-post
trivial-httpライブラリを使ってhttp投稿要求に引数を渡す方法を考えることができません。 投稿を作成できますが、投稿変数を渡す方法がわかりません。文字ストリームとして。trvial-httpの使い方
http://common-lisp.net/project/trivial-http/user-guide.html#http-post
投稿の内容として投稿変数を渡す必要があります。最も一般的な方法はapplication/x-www-form-urlencoded
ですが、ファイルアップロードを行う必要がある場合はmultipart/form-data
を使用できます。エンコードの詳細については、hereを参照してください。
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に渡すために安全であるためにそれらをエスケープするescape-url-query
を使用することができますコード体:
(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))))
あなたは文字列としてPOST本体をエンコードする必要があります。たとえば、http://en.wikipedia.org/wiki/POST_(HTTP)を参照してください。 stringから文字ストリームを作成するには、with-input-from-stringまたはmake-string-streamを使用します。