在 C# 中发出 HTTP POST Web 请求
本教程将讨论在 C# 中发出 HTTP POST Web 请求的方法。
使用 C# 中的 WebClient
类发出 HTTP POST Web 请求
WebClient
类在 C# 中提供了许多向 URL 发送数据和从 URL 接收数据的方法。我们可以在 C# 中使用 WebClient.UploadValues(url, values)
函数的 WebClient
类来进行 HTTP POST 请求。以下代码示例向我们展示了如何使用 C# 中的 WebClient
类发出简单的 HTTP POST Web 请求。
using System.Net;
using System.Collections.Specialized;
var wb = new WebClient() var data = new NameValueCollection();
string url = "www.example.com" data["username"] = "myUser";
data["password"] = "myPassword";
var response = wb.UploadValues(url, "POST", data);
在上面的代码中,我们创建了 Web 客户端 wb
,用于将数据发送到 url
。我们初始化要发送到 URL
的 data
变量。通过在 wb.UploadValues(url, "POST", data)
函数的参数中指定 POST
,我们对 url
发出 HTTP POST Web 请求。url
的响应保存在 reponse
变量中。
使用 C# 中的 HttpWebRequest
类发出 HTTP POST Web 请求
HttpWebRequest 类提供了在 C# 中使用 HTTP 协议与服务器直接交互的方法。我们可以使用 HttpWebRequest.Method = "POST"
属性来指定 HTTP Web 请求是 C# 中的 POST 请求。以下代码示例向我们展示了如何使用 C# 中的 HttpWebRequest
类发出简单的 HTTP POST Web 请求。
using System.Net;
using System.Text;
using System.IO;
string url = "http://www.example.com" var request = (HttpWebRequest)WebRequest.Create(url);
var postData = "username=" + Uri.EscapeDataString("myUser");
postData += "&password=" + Uri.EscapeDataString("myPassword");
var data = Encoding.ASCII.GetBytes(postData);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = data.Length;
using (var stream = request.GetRequestStream()) {
stream.Write(data, 0, data.Length);
}
var response = (HttpWebResponse)request.GetResponse();
在上面的代码中,我们创建了对 url
的 HTTP Web 请求 request
。我们使用 request.Method ="POST"
属性指定 request
是 POST 请求。(https://learn.microsoft.com/zh-cn/dotnet/api/system.uri.escapedatastring?view=net-5.0/)初始化我们要发送到 url
的数据 postData
,并将数据编码成字节变量 data
。我们使用 [request.ContentLength = data.Length
属性]指定要发送到 url
的数据的长度。最后,我们创建了一个流
并使用 stream.Write()
函数。我们使用 request.GetResponse()
函数并将其存储在 HTTPWebResponse
类对象 response
中。
使用 C# 中的 HttpClient
类发出 HTTP POST Web 请求
HttpClient
类提供了用于发送 HTTP 请求和接收 HTTP 响应的方法在 C# 中。我们可以使用 HttpClient.PostAsync(url, data)
函数发出 HTTP POST Web 请求,其中 url
是 URL,而 data
是我们要发送到 url
的数据。以下代码示例向我们展示了如何使用 C# 中的 HttpClient
类发出简单的 HTTP POST 请求。
using System.Net.Http;
readonly HttpClient client = new HttpClient();
var values =
new Dictionary<string, string> { { "username", "myUser" }, { "password", "myPassword" } };
string url = "http://www.example.com" var data = new FormUrlEncodedContent(values);
var response = await client.PostAsync(url, data);
在上面的代码中,我们创建了只读 HTTP 客户端 client
,并初始化了 url
。我们将要发送到 url
的数据存储在字典 values
中。然后,我们用 C# 中的 FormUrlEncodedContent()
函数将 values
转换为 application/x-www-form-urlencoded
类型。最后,我们使用 client.PostAsync(url, data)
函数发出了 HTTP POST Web 请求,并将来自 url
的响应存储在 response
变量中。
相关文章
在 C# 中将双精度值四舍五入为整数值
发布时间:2024/02/03 浏览次数:84 分类:编程语言
-
Math.Ceiling(),Math.Floor()和 Math.Round()函数有 3 种主要方法可用于在 C# 中将双精度值四舍五入为整数值。使用 C# 中的 Math.Ceiling() 函数将双精度值四舍五入为整数值
C# 中的 async 和 await
发布时间:2024/02/03 浏览次数:97 分类:编程语言
-
async 和 await 关键字用于 C# 中的异步编程。C# 中的异步编程 如果同步应用程序中有任何进程被阻止,则整个应用程序将被阻止并停止响应
在 Mac OS 上设置 C#
发布时间:2024/02/03 浏览次数:135 分类:编程语言
-
在本文中,了解设置 C# 语言以在 Mac OS 上进行开发的过程。本文将演示 Mac OS 上 C# 语言的完整设置和基本语法。在 Mac OS 上安装和设置 C#
在 C# 中将函数作为参数传递
发布时间:2024/02/03 浏览次数:192 分类:编程语言
-
我们可以使用 2 种主要方法将函数作为参数传递给 C# 中的另一个函数,func<>委托和 Action<>委托。
在 C# 中创建内联函数
发布时间:2024/02/03 浏览次数:132 分类:编程语言
-
在 C# 中创建内联函数的方法主要有 3 种,分别是使用 lambda 表达式、使用 lambda 语句和使用局部函数。在 C# 中使用 Lambda 表达式创建内联函数 在 C 和 C++ 之类的编程语言中,内联函数用 inline 关
从 C# 中的函数返回多个值
发布时间:2024/02/03 浏览次数:88 分类:编程语言
-
有 3 种主要方法可用于从 C# 中的函数返回多个值,使用数组作为函数返回类型,使用类或结构体作为函数返回类型,以及使用 Tuple
类作为函数的返回类型。
C# 中的抽象函数与虚拟函数
发布时间:2024/02/03 浏览次数:121 分类:编程语言
-
抽象函数自身不提供任何定义,而虚拟函数在 C# 中具有默认定义。本教程将比较 C# 中的抽象函数和虚拟函数。C# 中的抽象函数 在 C# 中,抽象函数没有自己的定义。
在 C# 中退出函数
发布时间:2024/02/03 浏览次数:138 分类:编程语言
-
在本教程中,通过示例了解在 C# 中退出函数的不同方法。使用 break、continue、goto、return 和 throw 异常语句。
在 C# 中计算 2 点之间的距离
发布时间:2024/02/03 浏览次数:129 分类:编程语言
-
欧氏距离公式可用于计算 C# 中 2 点之间的距离。本教程将讨论在 C# 中计算两点之间的距离的方法。