다음을 통해 공유


Cookie 클래스

정의

쿠키를 관리하는 데 사용되는 메서드 및 속성 집합을 제공합니다. 이 클래스는 상속될 수 없습니다.

public ref class Cookie sealed
public sealed class Cookie
[System.Serializable]
public sealed class Cookie
type Cookie = class
[<System.Serializable>]
type Cookie = class
Public NotInheritable Class Cookie
상속
Cookie
특성

예제

다음 예제에서는 URL에 요청을 보내고 응답에 반환된 쿠키를 표시합니다.

#using <System.dll>

using namespace System;
using namespace System::Net;

// This example is run at the command line.
// Specify one argument: the name of the host to 
// send the request to.
// If the request is sucessful, the example displays the contents of the cookies
// returned by the host.
int main()
{
   array<String^>^args = Environment::GetCommandLineArgs();
   if ( args == nullptr || args->Length != 2 )
   {
      Console::WriteLine( "Specify the URL to receive the request." );
      Environment::Exit( 1 );
   }

   
   HttpWebRequest^ request = dynamic_cast<HttpWebRequest^>(WebRequest::Create( args[ 1 ] ));
   request->CookieContainer = gcnew CookieContainer;
   HttpWebResponse^ response = dynamic_cast<HttpWebResponse^>(request->GetResponse());
   response->Cookies = request->CookieContainer->GetCookies( request->RequestUri );
   
   // Print the properties of each cookie.
   System::Collections::IEnumerator^ myEnum = response->Cookies->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      Cookie^ cook = safe_cast<Cookie^>(myEnum->Current);
      Console::WriteLine( "Cookie:" );
      Console::WriteLine( "{0} = {1}", cook->Name, cook->Value );
      Console::WriteLine( "Domain: {0}", cook->Domain );
      Console::WriteLine( "Path: {0}", cook->Path );
      Console::WriteLine( "Port: {0}", cook->Port );
      Console::WriteLine( "Secure: {0}", cook->Secure );
      Console::WriteLine( "When issued: {0}", cook->TimeStamp );
      Console::WriteLine( "Expires: {0} (expired? {1})", cook->Expires, cook->Expired );
      Console::WriteLine( "Don't save: {0}", cook->Discard );
      Console::WriteLine( "Comment: {0}", cook->Comment );
      Console::WriteLine( "Uri for comments: {0}", cook->CommentUri );
      Console::WriteLine( "Version: RFC {0}", cook->Version == 1 ? (String^)"2109" : "2965" );
      
      // Show the string representation of the cookie.
      Console::WriteLine( "String: {0}", cook );
      
   }

}

// Output from this example will be vary depending on the host name specified,
// but will be similar to the following.
/*
Cookie:
CustomerID = 13xyz
Domain: .contoso.com
Path: /
Port:
Secure: False
When issued: 1/14/2003 3:20:57 PM
Expires: 1/17/2013 11:14:07 AM (expired? False)
Don't save: False
Comment: 
Uri for comments:
Version: RFC 2965
String: CustomerID = 13xyz
*/
using System.Net;
using System;
namespace Examples.System.Net.Cookies
{
    // This example is run at the command line.
    // Specify one argument: the name of the host to
    // send the request to.
    // If the request is sucessful, the example displays the contents of the cookies
    // returned by the host.

    public class CookieExample
    {
        public static void Main(string[] args)
        {
            if (args == null || args.Length != 1)
            {
                Console.WriteLine("Specify the URL to receive the request.");
                Environment.Exit(1);
            }
            var request = (HttpWebRequest)WebRequest.Create(args[0]);
            request.CookieContainer = new CookieContainer();

            using (var response = (HttpWebResponse) request.GetResponse())
            {
                // Print the properties of each cookie.
                foreach (Cookie cook in response.Cookies)
                {
                    Console.WriteLine("Cookie:");
                    Console.WriteLine($"{cook.Name} = {cook.Value}");
                    Console.WriteLine($"Domain: {cook.Domain}");
                    Console.WriteLine($"Path: {cook.Path}");
                    Console.WriteLine($"Port: {cook.Port}");
                    Console.WriteLine($"Secure: {cook.Secure}");

                    Console.WriteLine($"When issued: {cook.TimeStamp}");
                    Console.WriteLine($"Expires: {cook.Expires} (expired? {cook.Expired})");
                    Console.WriteLine($"Don't save: {cook.Discard}");
                    Console.WriteLine($"Comment: {cook.Comment}");
                    Console.WriteLine($"Uri for comments: {cook.CommentUri}");
                    Console.WriteLine($"Version: RFC {(cook.Version == 1 ? 2109 : 2965)}");

                    // Show the string representation of the cookie.
                    Console.WriteLine($"String: {cook}");
                }
            }
        }
    }
}

// Output from this example will be vary depending on the host name specified,
// but will be similar to the following.
/*
Cookie:
CustomerID = 13xyz
Domain: .contoso.com
Path: /
Port:
Secure: False
When issued: 1/14/2003 3:20:57 PM
Expires: 1/17/2013 11:14:07 AM (expired? False)
Don't save: False
Comment:
Uri for comments:
Version: RFC 2965
String: CustomerID = 13xyz
*/
Imports System.Net

' This example is run at the command line.
' Specify one argument: the name of the host to 
' receive the request.
' If the request is sucessful, the example displays the contents of the cookies
' returned by the host.

Public Class CookieExample
    
    Public Shared Sub Main(args() As String)
        If args Is Nothing OrElse args.Length <> 1 Then
            Console.WriteLine("Specify the URL to receive the request.")
            Environment.Exit(1)
        End If
        Dim request As HttpWebRequest = WebRequest.Create(args(0))
        request.CookieContainer = New CookieContainer()
    
        Using response As HttpWebResponse = request.GetResponse()
            ' Print the properties of each cookie.
            For Each cook As Cookie In response.Cookies
                Console.WriteLine("Cookie:")
                Console.WriteLine($"{cook.Name} = {cook.Value}")
                Console.WriteLine($"Domain: {cook.Domain}")
                Console.WriteLine($"Path: {cook.Path}")
                Console.WriteLine($"Port: {cook.Port}")
                Console.WriteLine($"Secure: {cook.Secure}")
    
                Console.WriteLine($"When issued: {cook.TimeStamp}")
                Console.WriteLine($"Expires: {cook.Expires} (expired? {cook.Expired})")
                Console.WriteLine($"Don't save: {cook.Discard}")
                Console.WriteLine($"Comment: {cook.Comment}")
                Console.WriteLine($"Uri for comments: {cook.CommentUri}")
                Console.WriteLine($"Version: RFC {If(cook.Version = 1, 2109, 2965)}")
    
                ' Show the string representation of the cookie.
                Console.WriteLine($"String: {cook}")
            Next
        End Using
    End Sub
End Class



' Output from this example will be vary depending on the host name specified,
' but will be similar to the following.
'
'Cookie:
'CustomerID = 13xyz
'Domain: .contoso.com
'Path: /
'Port:
'Secure: False
'When issued: 1/14/2003 3:20:57 PM
'Expires: 1/17/2013 11:14:07 AM (expired? False)
'Don't save: False
'Comment: 
'Uri for comments:
'Version: RFC 2965
'String: CustomerID = 13xyz
'

설명

Cookie 클래스는 데 클라이언트 애플리케이션에서 HTTP 응답으로 수신 되는 쿠키에 대 한 정보를 검색 합니다. HTTP 응답 헤더를 구문 분석하는 동안 지원되는 쿠키 형식은 원래 Netscape 사양, RFC 2109 및 RFC 2965입니다.

인스턴스 Cookie의 초기 속성 값 목록은 다양한 Cookie 생성자를 참조하세요.

생성자

Cookie()

Cookie 클래스의 새 인스턴스를 초기화합니다.

Cookie(String, String)

지정된 CookieName을 사용하여 Value 클래스의 새 인스턴스를 초기화합니다.

Cookie(String, String, String)

지정된 Cookie, NameValue를 사용하여 Path 클래스의 새 인스턴스를 초기화합니다.

Cookie(String, String, String, String)

지정된 Cookie, Name, ValuePath을 사용하여 Domain 클래스의 새 인스턴스를 초기화합니다.

속성

Comment

서버가 Cookie에 추가할 수 있는 주석을 가져오거나 설정합니다.

CommentUri

서버가 Cookie를 제공할 수 있는 URI 주석을 가져오거나 설정합니다.

Discard

서버가 설정하는 삭제 플래그를 가져오거나 설정합니다.

Domain

Cookie가 유효한 URI를 가져오거나 설정합니다.

Expired

Cookie의 현재 상태를 가져오거나 설정합니다.

Expires

Cookie에 대한 만료 날짜와 시간을 DateTime으로 가져오거나 설정합니다.

HttpOnly

페이지 스크립트 또는 다른 활성 콘텐츠에서 이 쿠키에 액세스할 수 있는지 여부를 확인합니다.

Name

Cookie의 이름을 가져오거나 설정합니다.

Path

Cookie가 적용되는 URI를 가져오거나 설정합니다.

Port

Cookie가 적용되는 TCP 포트 목록을 가져오거나 설정합니다.

Secure

Cookie의 보안 수준을 가져오거나 설정합니다.

TimeStamp

쿠키가 DateTime으로 발행된 시간을 가져옵니다.

Value

ValueCookie를 가져오거나 설정합니다.

Version

쿠키가 준수하는 HTTP 상태 유지 관리 버전을 가져오거나 설정합니다.

메서드

Equals(Object)

Equals(Object) 메서드를 재정의합니다.

GetHashCode()

GetHashCode() 메서드를 재정의합니다.

GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
ToString()

ToString() 메서드를 재정의합니다.

적용 대상

추가 정보