コンテンツにスキップ

URI引数と値フィールド

Cloudflareのルール言語には、HTTPリクエストに関連するURI引数と値フィールドが含まれています。これらのフィールドの多くは、それぞれの値を含む配列を返します。

Cloudflareのルール言語は、これらのURI引数と値フィールドをサポートしています。

http.request.uri.args

http.request.uri.args Map<Array<String>>

リクエストに関連するHTTP URI引数をマップ(連想配列)として表します。

引数が繰り返される場合、配列にはリクエストに現れる順序で複数のアイテムが含まれます。

値は事前処理されず、リクエストで使用された元のケースを保持します。

  • デコーディング: デコーディングは行われません
  • 非ASCII: 保存されます

例:

any(http.request.uri.args["search"][*] == "red+apples")

例の値:

{"search": ["red+apples"]}

http.request.uri.args.names

http.request.uri.args.names Array<String>

HTTP URIクエリ文字列内の引数の名前を表します。名前は事前処理されず、リクエストで使用された元のケースを保持します。

名前が繰り返される場合、配列にはリクエストに現れる順序で複数のアイテムが含まれます。

  • デコーディング: デコーディングは行われません
  • 非ASCII: 保存されます

例:

any(http.request.uri.args.names[*] == "search")

例の値:

["search"]

http.request.uri.args.values

http.request.uri.args.values Array<String>

HTTP URIクエリ文字列内の引数の値を表します。値は事前処理されず、リクエストで使用された元のケースを保持します。リクエスト内の順序と同じです。

重複した値は複数回リストされます。

  • デコーディング: デコーディングは行われません
  • 非ASCII: 保存されます

例:

any(http.request.uri.args.values[*] == "red+apples")

例の値:

["red+apples"]

raw.http.request.uri.args

raw.http.request.uri.args Map<Array<String>>

http.request.uri.argsと同じフィールド値を含みます。

raw.http.request.uri.args.names

raw.http.request.uri.args.names Array<String>

http.request.uri.args.namesと同じフィールド値を含みます。

raw.http.request.uri.args.values

raw.http.request.uri.args.values Array<String>

http.request.uri.args.valuesと同じフィールド値を含みます。