HttpWebRequest.Headers 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
HTTP 헤더를 구성하는 이름/값 쌍의 컬렉션을 지정합니다.
public:
virtual property System::Net::WebHeaderCollection ^ Headers { System::Net::WebHeaderCollection ^ get(); void set(System::Net::WebHeaderCollection ^ value); };
public override System.Net.WebHeaderCollection Headers { get; set; }
member this.Headers : System.Net.WebHeaderCollection with get, set
Public Overrides Property Headers As WebHeaderCollection
속성 값
HTTP 요청에 대한 헤더를 구성하는 이름/값 쌍을 포함하는 WebHeaderCollection.
예외
요청은 GetRequestStream(), BeginGetRequestStream(AsyncCallback, Object), GetResponse()또는 BeginGetResponse(AsyncCallback, Object) 메서드를 호출하여 시작되었습니다.
예제
다음 코드 예제에서는 Headers 속성을 사용 하 여 콘솔에 HTTP 헤더 이름/값 쌍을 인쇄 합니다.
// Create a new 'HttpWebRequest' Object to the mentioned URL.
HttpWebRequest^ myHttpWebRequest = (HttpWebRequest^)( WebRequest::Create( "http://www.contoso.com" ) );
// Assign the response object of 'HttpWebRequest' to a 'HttpWebResponse' variable.
HttpWebResponse^ myHttpWebResponse = (HttpWebResponse^)( myHttpWebRequest->GetResponse() );
Console::WriteLine( "\nThe HttpHeaders are \n\n\tName\t\tValue\n {0}", myHttpWebRequest->Headers );
// Print the HTML contents of the page to the console.
Stream^ streamResponse = myHttpWebResponse->GetResponseStream();
StreamReader^ streamRead = gcnew StreamReader( streamResponse );
array<Char>^ readBuff = gcnew array<Char>(256);
int count = streamRead->Read( readBuff, 0, 256 );
Console::WriteLine( "\nThe HTML contents of page the are : \n\n " );
while ( count > 0 )
{
String^ outputData = gcnew String( readBuff,0,count );
Console::Write( outputData );
count = streamRead->Read( readBuff, 0, 256 );
}
streamResponse->Close();
streamRead->Close();
// Release the HttpWebResponse Resource.
myHttpWebResponse->Close();
// Create a new 'HttpWebRequest' Object to the mentioned URL.
HttpWebRequest myHttpWebRequest=(HttpWebRequest)WebRequest.Create("http://www.contoso.com");
// Assign the response object of 'HttpWebRequest' to a 'HttpWebResponse' variable.
HttpWebResponse myHttpWebResponse=(HttpWebResponse)myHttpWebRequest.GetResponse();
Console.WriteLine("\nThe HttpHeaders are \n\n\tName\t\tValue\n{0}",myHttpWebRequest.Headers);
// Print the HTML contents of the page to the console.
Stream streamResponse=myHttpWebResponse.GetResponseStream();
StreamReader streamRead = new StreamReader( streamResponse );
Char[] readBuff = new Char[256];
int count = streamRead.Read( readBuff, 0, 256 );
Console.WriteLine("\nThe HTML contents of page the are : \n\n ");
while (count > 0)
{
String outputData = new String(readBuff, 0, count);
Console.Write(outputData);
count = streamRead.Read(readBuff, 0, 256);
}
// Close the Stream object.
streamResponse.Close();
streamRead.Close();
// Release the HttpWebResponse Resource.
myHttpWebResponse.Close();
' Create a new 'HttpWebRequest' Object to the mentioned URL.
Dim myHttpWebRequest As HttpWebRequest = CType(WebRequest.Create("http://www.contoso.com"), HttpWebRequest)
' Assign the response object of 'HttpWebRequest' to a 'HttpWebResponse' variable.
Dim myHttpWebResponse As HttpWebResponse = CType(myHttpWebRequest.GetResponse(), HttpWebResponse)
Console.WriteLine(ControlChars.Cr + "The HttpHeaders are " + ControlChars.Cr + ControlChars.Cr + ControlChars.Tab + "Name" + ControlChars.Tab + ControlChars.Tab + "Value" + ControlChars.Cr + "{0}", myHttpWebRequest.Headers)
' Print the HTML contents of the page to the console.
Dim streamResponse As Stream = myHttpWebResponse.GetResponseStream()
Dim streamRead As New StreamReader(streamResponse)
Dim readBuff(256) As [Char]
Dim count As Integer = streamRead.Read(readBuff, 0, 256)
Console.WriteLine(ControlChars.Cr + "The HTML contents of page the are : " + ControlChars.Cr + ControlChars.Cr + " ")
While count > 0
Dim outputData As New [String](readBuff, 0, count)
Console.Write(outputData)
count = streamRead.Read(readBuff, 0, 256)
End While
' Close the Stream object.
streamResponse.Close()
streamRead.Close()
' Release the HttpWebResponse Resource.
myHttpWebResponse.Close()
설명
주의
WebRequest
, HttpWebRequest
, ServicePoint
및 WebClient
사용되지 않으므로 새 개발에 사용하면 안 됩니다. 대신 HttpClient 사용합니다.
Headers 컬렉션에는 요청과 연결된 프로토콜 헤더가 포함됩니다. 다음 표에서는 Headers 컬렉션에 저장되지 않지만 시스템에서 설정하거나 속성 또는 메서드에 의해 설정된 HTTP 헤더를 나열합니다.
머리글 | 설정 기준 |
---|---|
받아들이다 | Accept 속성에 의해 설정됩니다. |
연결 | Connection 속성 및 KeepAlive 속성에 의해 설정됩니다. |
콘텐츠 길이 | ContentLength 속성에 의해 설정됩니다. |
Content-Type | ContentType 속성에 의해 설정됩니다. |
기대하다 | Expect 속성에 의해 설정됩니다. |
날짜 | Date 속성에 의해 설정됩니다. |
호스트 | Host 속성에 의해 설정됩니다. |
If-Modified-Since | IfModifiedSince 속성에 의해 설정됩니다. |
레인지 | AddRange 메서드에 의해 설정됩니다. |
참조자 | Referer 속성에 의해 설정됩니다. |
Transfer-Encoding | TransferEncoding 속성에 의해 설정됩니다(SendChunked 속성은 true여야 합니다). |
User-Agent | UserAgent 속성에 의해 설정됩니다. |
Add 메서드는 이러한 보호된 헤더 중 하나를 설정하려고 하면 ArgumentException throw합니다.
GetRequestStream, BeginGetRequestStream, GetResponse또는 BeginGetResponse 메서드를 호출하여 요청이 시작된 후 Headers 속성을 변경하면 InvalidOperationExceptionthrow됩니다.
웹 서버와 캐시가 웹 요청에 헤더를 변경하거나 추가할 수 있으므로 헤더 값이 변경되지 않은 상태로 유지된다고 가정해서는 안 됩니다.
적용 대상
.NET