WebHeaderCollection::IsRestricted Method (String^)
Tests whether the specified HTTP header can be set for the request.
Assembly: System (in System.dll)
Parameters
- headerName
-
Type:
System::String^
The header to test.
| Exception | Condition |
|---|---|
| ArgumentNullException | headerName is null or Empty. |
| ArgumentException | headerName contains invalid characters. |
The IsRestricted method returns true to indicate that a header is restricted and must be set using properties instead of directly or is set by the system. The restricted headers are:
Accept
Connection
Content-Length
Content-Type
Date
Expect
Host
If-Modified-Since
Range
Referer
Transfer-Encoding
User-Agent
Proxy-Connection
The following example checks the IsRestricted property to see if any headers are prohibited from being set.
try { // Create a web request for S"www.msn.com". HttpWebRequest^ myHttpWebRequest = dynamic_cast<HttpWebRequest^>(WebRequest::Create( "http://www.msn.com" )); // Get the associated response for the above request. HttpWebResponse^ myHttpWebResponse = dynamic_cast<HttpWebResponse^>(myHttpWebRequest->GetResponse()); // Get the headers associated with the response. WebHeaderCollection^ myWebHeaderCollection = myHttpWebResponse->Headers; for ( int i = 0; i < myWebHeaderCollection->Count; i++ ) { // Check if the first response header is restriced. if ( WebHeaderCollection::IsRestricted( dynamic_cast<String^>(myWebHeaderCollection->AllKeys[ i ]) ) ) Console::WriteLine( "' {0}' is a restricted header", myWebHeaderCollection->AllKeys[ i ] ); else Console::WriteLine( "' {0}' is not a restricted header", myWebHeaderCollection->AllKeys[ i ] ); } myHttpWebResponse->Close(); } catch ( WebException^ e ) { Console::WriteLine( "\nWebException is thrown.\nMessage is: {0}", e->Message ); if ( e->Status == WebExceptionStatus::ProtocolError ) { Console::WriteLine( "Status Code : {0}", (dynamic_cast<HttpWebResponse^>(e->Response))->StatusCode ); Console::WriteLine( "Status Description : {0}", (dynamic_cast<HttpWebResponse^>(e->Response))->StatusDescription ); Console::WriteLine( "Server : {0}", (dynamic_cast<HttpWebResponse^>(e->Response))->Server ); } } catch ( Exception^ e ) { Console::WriteLine( "Exception is thrown. Message is : {0}", e->Message ); }
Available since 1.1