📅  最后修改于: 2023-12-03 14:52:11.144000             🧑  作者: Mango
在 C# 代码中,我们常常需要在程序中发送 HTTP 请求,然后获取服务器返回的响应结果,这就需要使用到发送 HTTP 请求的方法。本篇文章将会介绍如何使用 C# 发送 HTTP 请求并返回 responsebody 的方法。
C# 提供了 HttpClient
类来发送 HTTP 请求,使用该类可以轻松地在 C# 程序中发送 HTTP 请求。下面是一个简单的发送 HTTP 请求的示例代码:
using System;
using System.Net.Http;
class Program
{
static async System.Threading.Tasks.Task Main(string[] args)
{
using (var httpClient = new HttpClient())
{
using (var request = new HttpRequestMessage(new HttpMethod("GET"), "https://www.example.com"))
{
HttpResponseMessage response = await httpClient.SendAsync(request);
if (response.IsSuccessStatusCode)
{
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
else
{
Console.WriteLine($"请求出错:{response.StatusCode}");
}
}
}
}
}
在上面的代码中,我们使用 HttpClient
类创建了一个 HTTP 客户端,然后使用 HttpRequestMessage
创建了一个 GET 请求,请求的 URL 为 https://www.example.com
。最后使用 SendAsync
方法发送请求,并获取服务器的响应结果。
在发送完 HTTP 请求之后,我们需要从响应结果中获取服务器返回的 responsebody。这可以通过 HttpResponseMessage
对象的 Content
属性来获取。Content
属性表示 HTTP 响应的内容,它是一个 HttpContent
类型的对象,可以使用 ReadAsStringAsync
方法将响应内容转换成字符串。
下面是一个示例代码:
HttpResponseMessage response = await httpClient.SendAsync(request);
if (response.IsSuccessStatusCode)
{
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
else
{
Console.WriteLine($"请求出错:{response.StatusCode}");
}
在上面的代码中,我们首先判断响应的返回状态码是否为成功状态码。如果是的话,我们就使用 ReadAsStringAsync
获取响应的 responsebody。如果返回的状态码是错误的,我们就直接输出错误信息。
在本文中,我们介绍了如何使用 C# 发送 HTTP 请求并获取服务器返回的 responsebody 的方法。我们首先使用 HttpClient
类创建了一个 HTTP 客户端,然后使用 HttpRequestMessage
创建了一个 HTTP 请求。最后使用 SendAsync
方法发送请求,并获取服务器的响应结果。最后判断响应的返回状态码是否为成功状态码,如果是的话,我们就使用 ReadAsStringAsync
获取响应的 responsebody。如果返回的状态码是错误的,我们就直接输出错误信息。