HttpWebResponse.GetResponseHeader(String) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得隨回應傳回的標頭內容。
public:
System::String ^ GetResponseHeader(System::String ^ headerName);
public string GetResponseHeader (string headerName);
member this.GetResponseHeader : string -> string
Public Function GetResponseHeader (headerName As String) As String
參數
- headerName
- String
要傳回的標頭值。
傳回
所指定標頭的內容。
例外狀況
目前的執行個體已經過處置。
範例
此範例會建立 Web 要求和查詢回應。 如果網站需要驗證,此範例會以挑戰字串回應。 此字串是使用 GetResponseHeader擷取。
void GetPage( String^ url )
{
try
{
Uri^ ourUri = gcnew Uri( url );
// Creates an HttpWebRequest for the specified URL.
HttpWebRequest^ myHttpWebRequest = (HttpWebRequest^)( WebRequest::Create( ourUri ) );
HttpWebResponse^ myHttpWebResponse = (HttpWebResponse^)( myHttpWebRequest->GetResponse() );
Console::WriteLine( "\nThe server did not issue any challenge. Please try again with a protected resource URL." );
// Releases the resources of the response.
myHttpWebResponse->Close();
}
catch ( WebException^ e )
{
HttpWebResponse^ response = (HttpWebResponse^)( e->Response );
if ( response != nullptr )
{
if ( response->StatusCode == HttpStatusCode::Unauthorized )
{
String^ challenge = nullptr;
challenge = response->GetResponseHeader( "WWW-Authenticate" );
if ( challenge != nullptr )
Console::WriteLine( "\nThe following challenge was raised by the server: {0}", challenge );
}
else
{
Console::WriteLine( "\nThe following WebException was raised : {0}", e->Message );
}
}
else
{
Console::WriteLine( "\nResponse Received from server was 0" );
}
}
catch ( Exception^ e )
{
Console::WriteLine( "\nThe following Exception was raised : {0}", e->Message );
}
}
public static void GetPage(String url)
{
try
{
Uri ourUri = new Uri(url);
// Creates an HttpWebRequest for the specified URL.
HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(ourUri);
HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
Console.WriteLine("\nThe server did not issue any challenge. Please try again with a protected resource URL.");
// Releases the resources of the response.
myHttpWebResponse.Close();
}
catch(WebException e)
{
HttpWebResponse response = (HttpWebResponse)e.Response;
if (response != null)
{
if (response.StatusCode == HttpStatusCode.Unauthorized)
{
string challenge = null;
challenge= response.GetResponseHeader("WWW-Authenticate");
if (challenge != null)
Console.WriteLine("\nThe following challenge was raised by the server:{0}",challenge);
}
else
{
Console.WriteLine("\nThe following WebException was raised : {0}",e.Message);
}
}
else
{
Console.WriteLine("\nResponse Received from server was null");
}
}
catch(Exception e)
{
Console.WriteLine("\nThe following Exception was raised : {0}",e.Message);
}
}
}
Public Shared Sub GetPage(url As [String])
Try
Dim ourUri As New Uri(url)
' Creates an HttpWebRequest for the specified URL.
Dim myHttpWebRequest As HttpWebRequest = CType(WebRequest.Create(ourUri), HttpWebRequest)
Dim myHttpWebResponse As HttpWebResponse = CType(myHttpWebRequest.GetResponse(), HttpWebResponse)
Console.WriteLine(ControlChars.NewLine + "The server did not issue any challenge. Please try again with a protected resource URL.")
' Releases the resources of the response.
myHttpWebResponse.Close()
Catch e As WebException
Dim response As HttpWebResponse = CType(e.Response, HttpWebResponse)
If Not (response Is Nothing) Then
If response.StatusCode = HttpStatusCode.Unauthorized Then
Dim challenge As String = Nothing
challenge = response.GetResponseHeader("WWW-Authenticate")
If Not (challenge Is Nothing) Then
Console.WriteLine(ControlChars.NewLine + "The following challenge was raised by the server:{0}", challenge)
End If
Else
Console.WriteLine(ControlChars.NewLine + "The following exception was raised : {0}", e.Message)
End If
Else
Console.WriteLine(ControlChars.NewLine + "Response Received from server was null")
End If
Catch e As Exception
Console.WriteLine(ControlChars.NewLine + "The following exception was raised : {0}", e.Message)
End Try
End Sub
備註
使用 GetResponseHeader 擷取特定標頭的內容。 您必須指定要傳回的標頭。