WebHeaderCollection.IsRestricted Metoda

Definicja

Sprawdza, czy można ustawić określony nagłówek HTTP.

Przeciążenia

IsRestricted(String)

Sprawdza, czy można ustawić określony nagłówek HTTP dla żądania.

IsRestricted(String, Boolean)

Sprawdza, czy określony nagłówek HTTP można ustawić dla żądania lub odpowiedzi.

IsRestricted(String)

Źródło:
WebHeaderCollection.cs
Źródło:
WebHeaderCollection.cs
Źródło:
WebHeaderCollection.cs

Sprawdza, czy można ustawić określony nagłówek HTTP dla żądania.

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

Parametry

headerName
String

Nagłówek do przetestowania.

Zwraca

true jeśli nagłówek jest ograniczony; w przeciwnym razie false.

Wyjątki

headerName jest lub nullEmpty.

headerName zawiera nieprawidłowe znaki.

Przykłady

Poniższy przykład sprawdza właściwość, IsRestricted aby sprawdzić, czy nie można ustawić żadnych nagłówków.

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

Uwagi

Metoda IsRestricted zwraca wartość true , aby wskazać, że nagłówek jest ograniczony i musi być ustawiony przy użyciu właściwości zamiast bezpośrednio lub jest ustawiany przez system. Nagłówki z ograniczeniami to:

  • Zaakceptuj

  • Połączenie

  • Długość zawartości

  • Content-Type

  • Date

  • Oczekiwać

  • Host

  • If-Modified-Since

  • Zakres

  • Referer

  • Transfer-Encoding

  • User-Agent

  • Proxy-Connection

Dotyczy

IsRestricted(String, Boolean)

Źródło:
WebHeaderCollection.cs
Źródło:
WebHeaderCollection.cs
Źródło:
WebHeaderCollection.cs

Sprawdza, czy określony nagłówek HTTP można ustawić dla żądania lub odpowiedzi.

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

Parametry

headerName
String

Nagłówek do przetestowania.

response
Boolean

true aby przetestować odpowiedź; false aby przetestować żądanie.

Zwraca

true jeśli nagłówek jest ograniczony; w przeciwnym razie , false.

Wyjątki

headerName jest lub nullEmpty.

headerName zawiera nieprawidłowe znaki.

Przykłady

Poniższy przykład sprawdza właściwość, IsRestricted aby sprawdzić, czy jakiekolwiek nagłówki żądań nie są ustawione.

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

Uwagi

Metoda IsRestricted zwraca wartość true wskazującą, że nagłówek żądania lub odpowiedzi jest ograniczony i musi być ustawiony przy użyciu właściwości zamiast bezpośrednio lub jest ustawiany przez system. Nagłówki z ograniczeniami to:

  • Zaakceptuj

  • Połączenie

  • Długość zawartości

  • Content-Type

  • Date

  • Oczekiwać

  • Host

  • If-Modified-Since

  • Zakres

  • Referer

  • Transfer-Encoding

  • User-Agent

  • Proxy-Connection

Dotyczy