HttpResponseMessage 类

定义

表示包括状态代码和数据的 HTTP 响应消息。

public ref class HttpResponseMessage : IDisposable
public class HttpResponseMessage : IDisposable
type HttpResponseMessage = class
    interface IDisposable
Public Class HttpResponseMessage
Implements IDisposable
继承
HttpResponseMessage
实现

示例

// HttpClient is intended to be instantiated once per application, rather than per-use. See Remarks.
static readonly HttpClient client = new HttpClient();

static async Task Main()
{
    // Call asynchronous network methods in a try/catch block to handle exceptions.
    try
    {
        using HttpResponseMessage response = await client.GetAsync("http://www.contoso.com/");
        response.EnsureSuccessStatusCode();
        string responseBody = await response.Content.ReadAsStringAsync();
        // Above three lines can be replaced with new helper method below
        // string responseBody = await client.GetStringAsync(uri);

        Console.WriteLine(responseBody);
    }
    catch (HttpRequestException e)
    {
        Console.WriteLine("\nException Caught!");
        Console.WriteLine("Message :{0} ", e.Message);
    }
}
open System.Net.Http

// HttpClient is intended to be instantiated once per application, rather than per-use. See Remarks.
let client = new HttpClient()

let main =
    task {
        // Call asynchronous network methods in a try/catch block to handle exceptions.
        try
            use! response = client.GetAsync "http://www.contoso.com/"
            response.EnsureSuccessStatusCode() |> ignore
            let! responseBody = response.Content.ReadAsStringAsync()
            // Above three lines can be replaced with new helper method below
            // let! responseBody = client.GetStringAsync uri

            printfn $"{responseBody}"
        with
        | :? HttpRequestException as e ->
            printfn "\nException Caught!"
            printfn $"Message :{e.Message} "
    }

main.Wait()
' HttpClient is intended to be instantiated once per application, rather than per-use. See Remarks.
Shared ReadOnly client As HttpClient = New HttpClient()

Private Shared Async Function Main() As Task
    ' Call asynchronous network methods in a try/catch block to handle exceptions.
    Try
        Using response As HttpResponseMessage = Await client.GetAsync("http://www.contoso.com/")
            response.EnsureSuccessStatusCode()
            Dim responseBody As String = Await response.Content.ReadAsStringAsync()
            ' Above three lines can be replaced with new helper method below
            ' Dim responseBody As String = Await client.GetStringAsync(uri)

            Console.WriteLine(responseBody)
        End Using
    Catch e As HttpRequestException
        Console.WriteLine(Environment.NewLine & "Exception Caught!")
        Console.WriteLine("Message :{0} ", e.Message)
    End Try
End Function

前面的代码示例使用 async Task Main() 入口点。 该功能需要 C# 7.1 或更高版本。

注解

获取 HttpResponseMessage 的常用方法是从 方法之 HttpClient.SendAsync(HttpRequestMessage) 一获取 。

构造函数

HttpResponseMessage()

初始化 HttpResponseMessage 类的新实例。

HttpResponseMessage(HttpStatusCode)

初始化指定的 HttpResponseMessageStatusCode 类的新实例。

属性

Content

获取或设置 HTTP 响应消息的内容。

Headers

获取 HTTP 响应标头的集合。

IsSuccessStatusCode

获取一个值,该值指示 HTTP 响应是否成功。

ReasonPhrase

获取或设置通常由服务器发出的原因短语(与状态代码一起发出)。

RequestMessage

获取或设置导致此响应消息的请求消息。

StatusCode

获取或设置 HTTP 响应的状态代码。

TrailingHeaders

获取 HTTP 响应中包含的尾随标头的集合。

Version

获取或设置 HTTP 消息版本。

方法

Dispose()

释放由 HttpResponseMessage 使用的非托管资源。

Dispose(Boolean)

释放由 HttpResponseMessage 使用的非托管资源,并可根据需要释放托管资源。

EnsureSuccessStatusCode()

如果 HTTP 响应的 IsSuccessStatusCode 属性是 false,则引发异常。

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
ToString()

返回表示当前对象的字符串。

扩展方法

ToMessage(HttpResponseMessage)

通过 Message 实例创建 HttpResponseMessage 实例。

适用于