📖

Postman : x-www-form-urlencoded 形式データのPOST

に公開

前回の記事ではmultipart/form-dataとバイナリデータのアップロード機能をテストしました。Postmanにはリクエストボディには以下の値を挿入できます。
multipart/form-data
x-www-form-urlencoded
・Raw
・Text
・JavaScript
・JSON
・HTML
・XML
・バイナリ
・GraphQL

今日はx-www-form-urlencodedをテストしていきます。

x-www-form-urlencoded

Web API やフォーム送信でよく登場する データのエンコード方式 のひとつで、HTTP リクエストの 本文(Body) に、キーと値のペアをクエリ文字列のように詰め込んで送信します。
ヘッダーには以下の値がセットされます。
Content-Type: application/x-www-form-urlencoded
以下の様に複数の値をペアで取り扱うことができます。

key1=value1&key2=value2&key3=value3

日本語や記号は URL エンコードで処理されます。

さっそくやってみる

1. POSTを付けるエンドポイントの作成とテスト

ではテストをしてみます。いつも通り Request Catcher を使っていきます。

適当な名前を入力してGet startedをクリックすると新しいエンドポイントが一瞬で作成されます。

まずはボディを空欄でそのままPOSTのテストを行います。

以下の様にRequest CatcherではPOSTを受け取っていることがわかります。

2. x-www-form-urlencoded のテスト

例えば以下の様にデータを入力して送信をクリックします。

このように複数値が Key Value ペアでPOSTされていることがわかります。

ヘッダーはContent-Type: application/x-www-form-urlencodedが自動でセットされています。

2-1. パラメータの一括編集

送信ボタンの下にある一括編集をクリックします。

このように複数行でKey Valueのペアを記載することができます。

送信をクリックすると実行結果は上記と同じになります。

Postmanが生成するcurlコマンドは以下の様になっています。

curl --location 'https://kameda.requestcatcher.com/' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'username=12345' \
--data-urlencode 'age=40'

3. curlコマンドのインポート

curl で x-www-form-urlencodedを使う場合、以下の様なコマンドになり、Key Value1組ごとに1行ではなく、まとめて&でつないで処理を行うケースが一般的です。

curl -X POST https://kameda.requestcatcher.com/ \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "username=12345&age=40"

curlコマンドをインストールするPostmanの機能を使うとそのままインポートしてPostmanの x-www-form-urlencoded用に変換してくれます。

4. URL エンコードのテスト

日本語文字や記号はPostmanが自動でURLエンコードしてくれます。
![](https://storage.googleapis.com/zenn-user-upload/c744f01684aa-20250909.png

username=12345&age=4%20%200&jpname=%E4%BA%80%E7%94%B0%20

Discussion