Cookies

(PWS4 IIS4 IIS5)
Cookies — Cookies コレクションで、HTTP 要求の中で送信された cookie の値を取得できます。

Request.Cookies( cookie )[( key )|.attribute]
cookie:値を取得する cookie を指定します。
Key:cookie 辞書からサブキーの値を取得するために使用する省略可能なパラメータです。
attribute:cookie に関する情報を指定します。指定できる属性パラメータはHasKeysを参照ください。
説明

cookie 辞書のサブキーにアクセスするには、Key に対応する値を指定します。Key を指定せずに cookie 辞書にアクセスすると、すべてのキーが 1 つのクエリー文字列として返されます。たとえば、MyCookie に First と Second という 2 つのキーがあるとき、Request.Cookies の呼び出しの中でこれらのキーをどちらも指定していないと、次の文字列が返されます。

First=firstkeyvalue&Second=secondkeyvalue

同じ名前を持つ 2 つの cookie がクライアント ブラウザから送信された場合、Request.Cookies はより深いパス構造を持つ方の cookie を返します。たとえば、2 つの cookie が同じ名前で、一方のパス属性が /www/、もう一方のパス属性が /www/home/ であるとすると、クライアント ブラウザは両方の cookie を /www/home/ ディレクトリに送信しますが、Request.Cookies は後者の方の cookie だけを返します。

例1.Cookiesの例

1
<%= Request.Cookies("myCookie") %>

ループを使用すると、Cookies コレクション内のすべての cookie や、cookie 内のすべてのキーを調べることができます。ただし、キーを持っていない cookie に対してループを使用した場合は何も出力されません。これを防ぐには、.HasKeys の構文を使用して cookie がキーを持っているかどうかを先にチェックしておきます。以上の例を次に示します。

1
2
3
4
5
6
7
8
9
10
11
<%
    For Each strKey In Request.Cookies
      Response.Write strKey & " = " & Request.Cookies(strKey) & "<br />"
      If Request.Cookies(strKey).HasKeys Then
        For Each strSubKey In Request.Cookies(strKey)
          Response.Write "->" & strKey & "(" & strSubKey & ") = " & _
            Request.Cookies(strKey)(strSubKey) & "<br />"
        Next
      End If
    Next
%>

Cookiesコネクション,HasKeys も参照ください。