WebHeaderCollection.GetKey(Int32) 메서드

정의

컬렉션의 지정된 위치에 있는 헤더 이름을 가져옵니다.

public:
 override System::String ^ GetKey(int index);
public override string GetKey (int index);
override this.GetKey : int -> string
Public Overrides Function GetKey (index As Integer) As String

매개 변수

index
Int32

컬렉션에서 가져올 키의 0부터 시작하는 인덱스입니다.

반환

헤더 이름을 포함하는 String입니다.

예외

index가 음수입니다.

또는

index가 컬렉션의 크기를 초과하는 경우

예제

다음 코드 예제에서는 를 사용하여 GetKey 에서 WebHeaderCollection헤더 이름을 가져옵니다.

if (args.Length == 0)
{
    Console.WriteLine("must specify a URL!");
    return;
}
string server = args[0];

// Create the web request 
HttpWebRequest myHttpWebRequest = 
    (HttpWebRequest) WebRequest.Create(server);
myHttpWebRequest.Timeout = 1000;
// Get the associated response for the above request.
HttpWebResponse myHttpWebResponse = 
    (HttpWebResponse) myHttpWebRequest.GetResponse();

// Get the headers associated with the response.
WebHeaderCollection myWebHeaderCollection = 
    myHttpWebResponse.Headers;

for(int i = 0; i < myWebHeaderCollection.Count; i++)
{
    String header = myWebHeaderCollection.GetKey(i);
    String[] values = 
        myWebHeaderCollection.GetValues(header);
    if(values.Length > 0) 
    {
        Console.WriteLine("The values of {0} header are : "
                         , header);
        for(int j = 0; j < values.Length; j++) 
            Console.WriteLine("\t{0}", values[j]);
    }
    else
        Console.WriteLine("There is no value associated" +
            "with the header");
}
Console.WriteLine("");

// Get the headers again, using new properties (Keys, 
// AllKeys, Clear) and methods (Get and GetKey)

string[] headers = myWebHeaderCollection.AllKeys;

// enumerate through the header collection.
foreach (string s in headers)
{
    Console.WriteLine("Header {0}, value {1}",
        s,
        myWebHeaderCollection.Get(s) );
}

Console.WriteLine("");

// show the use of Get(Int32) and GetValue(Int32)
if (myWebHeaderCollection.Count > 0)
{
    // get the name and value of the first header
    int index=0;
    Console.WriteLine("Header {0}: name {1}, value {2}",
        index, 
        myWebHeaderCollection.GetKey(index),
        myWebHeaderCollection.Get(index));
}

myWebHeaderCollection.Clear();

myHttpWebResponse.Close();

적용 대상