2009-03-30 3 views

答えて

3

投稿の内容として投稿変数を渡す必要があります。最も一般的な方法は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)))) 
1

あなたは文字列としてPOST本体をエンコードする必要があります。たとえば、http://en.wikipedia.org/wiki/POST_(HTTP)を参照してください。 stringから文字ストリームを作成するには、with-input-from-stringまたはmake-string-streamを使用します。