12,796
回編集
(→POST) |
(→POST) |
||
209行目: | 209行目: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<br> | <br> | ||
==== POST ==== | ==== POST : テキストファイル ==== | ||
以下の例では、リクエストのボディにJSON形式の内容を格納して送受信している。<br> | 以下の例では、リクエストのボディにJSON形式の内容を格納して送受信している。<br> | ||
JSONは、JS、Ruby、Python、PHP等では連想配列を使用して簡単に作成できるが、C#においては<code>Dictionary</code>型を使用および変換後、<code>StringContent</code>型に情報を付加してリクエストに格納する。<br> | JSONは、JS、Ruby、Python、PHP等では連想配列を使用して簡単に作成できるが、C#においては<code>Dictionary</code>型を使用および変換後、<code>StringContent</code>型に情報を付加してリクエストに格納する。<br> | ||
282行目: | 282行目: | ||
return request; | return request; | ||
} | } | ||
</syntaxhighlight> | |||
<br> | |||
==== POST : バイナリファイル ==== | |||
<br> | |||
==== MIMEタイプ (コンテンツタイプ) ==== | |||
application/x-www-form-urlencodedおよびmultipart/form-dataは、HTTPのPOSTリクエストでデータを送信するための異なるMIMEタイプである。<br> | |||
<br> | |||
* application/x-www-form-urlencoded | |||
*: HTMLフォームデータをエンコードして送信するためのデフォルトのMIMEタイプである。 | |||
*: データはキーと値のペアになり、それらのペアは<u>key1=value1&key2=value2</u>のように<code>&</code>で区切られる。 | |||
*: <br> | |||
*: 特殊文字は、パーセントエンコーディング(%エンコーディング)される。 | |||
*: 例: スペースは%20にエンコーディングされる。 | |||
*: <br> | |||
*: 一般的に、簡単なフォームデータやクエリ文字列を送信する場合に使用する。 | |||
*: <br> | |||
* multipart/form-data | |||
*: バイナリデータや大きなファイルを含む複数のデータタイプをサポートするためのMIMEタイプである。 | |||
*: <br> | |||
*: データは複数の部分に分かれており、各部分にはヘッダがあり、ヘッダにはContent-Dispositionが含まれる。 | |||
*: このヘッダは、データがどのように処理されるべきかを示している。 | |||
*: <br> | |||
*: バイナリデータを直接送信するために使用され、一般的には、ファイルのアップロード等で使用される。 | |||
*: <br> | |||
*: <code>--boundary</code>、<code>--boundary--</code>は、各部分の開始と終了を示すために使用され、部分はそれぞれ独立して処理される。 | |||
*: どちらを選択するかは、データの種類と送信する内容に依存する。 | |||
*: 一般的には、HTMLフォームでテキストデータを送信する場合は<u>application/x-www-form-urlencoded</u>が使用され、ファイルのアップロード等でバイナリデータを送信する場合は<u>multipart/form-data</u>が使用される。 | |||
<syntaxhighlight lang="css"> | |||
/* 例: */ | |||
--boundary | |||
Content-Disposition: form-data; name="key1" | |||
value1 | |||
--boundary | |||
Content-Disposition: form-data; name="key2" | |||
value2 | |||
--boundary-- | |||
</syntaxhighlight> | </syntaxhighlight> | ||
<br> | <br> |