WebHeaderCollection.IsRestricted 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
测试是否能够设置指定的 HTTP 标头。
重载
IsRestricted(String) |
测试是否能够为请求设置指定的 HTTP 标头。 |
IsRestricted(String, Boolean) |
测试是否能够为请求或响应设置指定的 HTTP 标头。 |
IsRestricted(String)
- Source:
- WebHeaderCollection.cs
- Source:
- WebHeaderCollection.cs
- Source:
- WebHeaderCollection.cs
测试是否能够为请求设置指定的 HTTP 标头。
public:
static bool IsRestricted(System::String ^ headerName);
public static bool IsRestricted (string headerName);
static member IsRestricted : string -> bool
Public Shared Function IsRestricted (headerName As String) As Boolean
参数
- headerName
- String
要测试的标头。
返回
如果标头是受限制的,则为 true
;否则为 false
。
例外
headerName
是 null
或 Empty。
headerName
包含无效字符。
示例
以下示例检查 IsRestricted 属性以查看是否禁止设置任何标头。
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 );
}
try {
// Create a web request for "www.msn.com".
HttpWebRequest myHttpWebRequest = (HttpWebRequest) WebRequest.Create("http://www.msn.com");
// 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++)
{
// Check if the first response header is restricted.
if(WebHeaderCollection.IsRestricted(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:" + e.Message);
if(e.Status == WebExceptionStatus.ProtocolError) {
Console.WriteLine("Status Code : {0}", ((HttpWebResponse)e.Response).StatusCode);
Console.WriteLine("Status Description : {0}", ((HttpWebResponse)e.Response).StatusDescription);
Console.WriteLine("Server : {0}", ((HttpWebResponse)e.Response).Server);
}
}
catch(Exception e) {
Console.WriteLine("Exception is thrown. Message is :" + e.Message);
}
}
Public Shared Sub Main()
Try
'Create a web request for "www.msn.com".
Dim myHttpWebRequest As HttpWebRequest = CType(WebRequest.Create("http://www.msn.com"), HttpWebRequest)
'Get the associated response for the above request.
Dim myHttpWebResponse As HttpWebResponse = CType(myHttpWebRequest.GetResponse(), HttpWebResponse)
'Get the headers associated with the response.
Dim myWebHeaderCollection As WebHeaderCollection = myHttpWebResponse.Headers
'Check if the first response header is restricted.
dim i as integer
for i =0 to myWebHeaderCollection.Count-1
If WebHeaderCollection.IsRestricted(myWebHeaderCollection.AllKeys(i)) Then
Console.WriteLine("'{0}' is a restricted header", myWebHeaderCollection.AllKeys(i))
Else
Console.WriteLine("'{0}' is not a restricted header", myWebHeaderCollection.AllKeys(i))
End If
next
myHttpWebResponse.Close()
Catch e As WebException
Console.WriteLine(e.Message)
If e.Status = WebExceptionStatus.ProtocolError Then
Console.WriteLine("Status Code : {0}", CType(e.Response, HttpWebResponse).StatusCode)
Console.WriteLine("Status Description : {0}", CType(e.Response, HttpWebResponse).StatusDescription)
Console.WriteLine("Server : {0}", CType(e.Response, HttpWebResponse).Server)
End If
Catch e As Exception
Console.WriteLine(e.Message)
End Try
End Sub
注解
方法 IsRestricted 返回 true
以指示标头受到限制,必须使用属性而不是直接设置标头,或者由系统设置。 受限制的标头包括:
Accept
连接
Content-Length
Content-Type
Date
Expect
主机
If-Modified-Since
范围
Referer
Transfer-Encoding
User-Agent
Proxy-Connection
适用于
IsRestricted(String, Boolean)
- Source:
- WebHeaderCollection.cs
- Source:
- WebHeaderCollection.cs
- Source:
- WebHeaderCollection.cs
测试是否能够为请求或响应设置指定的 HTTP 标头。
public:
static bool IsRestricted(System::String ^ headerName, bool response);
public static bool IsRestricted (string headerName, bool response);
static member IsRestricted : string * bool -> bool
Public Shared Function IsRestricted (headerName As String, response As Boolean) As Boolean
参数
- headerName
- String
要测试的标头。
- response
- Boolean
true
以测试响应; false
以测试请求。
返回
如果标头是受限制的,则为 true
;否则为 false
。
例外
headerName
是 null
或 Empty。
headerName
包含无效字符。
示例
以下示例检查 IsRestricted 属性以查看是否禁止设置任何请求标头。
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 );
}
try {
// Create a web request for "www.msn.com".
HttpWebRequest myHttpWebRequest = (HttpWebRequest) WebRequest.Create("http://www.msn.com");
// 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++)
{
// Check if the first response header is restricted.
if(WebHeaderCollection.IsRestricted(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:" + e.Message);
if(e.Status == WebExceptionStatus.ProtocolError) {
Console.WriteLine("Status Code : {0}", ((HttpWebResponse)e.Response).StatusCode);
Console.WriteLine("Status Description : {0}", ((HttpWebResponse)e.Response).StatusDescription);
Console.WriteLine("Server : {0}", ((HttpWebResponse)e.Response).Server);
}
}
catch(Exception e) {
Console.WriteLine("Exception is thrown. Message is :" + e.Message);
}
}
Public Shared Sub Main()
Try
'Create a web request for "www.msn.com".
Dim myHttpWebRequest As HttpWebRequest = CType(WebRequest.Create("http://www.msn.com"), HttpWebRequest)
'Get the associated response for the above request.
Dim myHttpWebResponse As HttpWebResponse = CType(myHttpWebRequest.GetResponse(), HttpWebResponse)
'Get the headers associated with the response.
Dim myWebHeaderCollection As WebHeaderCollection = myHttpWebResponse.Headers
'Check if the first response header is restricted.
dim i as integer
for i =0 to myWebHeaderCollection.Count-1
If WebHeaderCollection.IsRestricted(myWebHeaderCollection.AllKeys(i)) Then
Console.WriteLine("'{0}' is a restricted header", myWebHeaderCollection.AllKeys(i))
Else
Console.WriteLine("'{0}' is not a restricted header", myWebHeaderCollection.AllKeys(i))
End If
next
myHttpWebResponse.Close()
Catch e As WebException
Console.WriteLine(e.Message)
If e.Status = WebExceptionStatus.ProtocolError Then
Console.WriteLine("Status Code : {0}", CType(e.Response, HttpWebResponse).StatusCode)
Console.WriteLine("Status Description : {0}", CType(e.Response, HttpWebResponse).StatusDescription)
Console.WriteLine("Server : {0}", CType(e.Response, HttpWebResponse).Server)
End If
Catch e As Exception
Console.WriteLine(e.Message)
End Try
End Sub
注解
方法 IsRestricted 返回 true
以指示请求或响应标头受到限制,必须使用属性而不是直接设置,或者由系统设置。 受限制的标头包括:
Accept
连接
Content-Length
Content-Type
Date
Expect
主机
If-Modified-Since
范围
Referer
Transfer-Encoding
User-Agent
Proxy-Connection