迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

在 C# 中发出 HTTP POST Web 请求

作者:迹忆客 最近更新:2024/02/01 浏览次数:

本教程将讨论在 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。我们初始化要发送到 URLdata 变量。通过在 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 变量中。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 C# 中调整图像大小

发布时间:2024/02/04 浏览次数:203 分类:编程语言

有两种主要方法可用于在 C# 中调整图像的大小,Bitmap 类构造函数和 graphics.DrawImage()函数。在本教程中,我们将讨论在C#中调整图像大小的方法。我们将带您完成整个过程,从加载原始图像到保

在 C# 中下载图片

发布时间:2024/02/04 浏览次数:138 分类:编程语言

有 3 种主要方法可用于下载 C# 中的图片,WebClient.DownloadFile()函数,Bitmap 类和 Image.FromStream()函数。在 C# 中使用 WebClient 类下载图片 WebClient 类提供了用于向 C# 中的 URL 发送数据和从 URL 接收数据

在 C# 中使用秒表

发布时间:2024/02/04 浏览次数:139 分类:编程语言

我们可以使用 Stopwatch 类来计算 C# 中的经过时间。使用 C# 中的秒表类计算经过时间 Stopwatch 类在 C# 中准确测量经过的时间。

在 C# 中获取可执行路径

发布时间:2024/02/04 浏览次数:200 分类:编程语言

有 3 种主要方法可用于获取 C# 中程序的可执行路径,即 Assembly 类,AppDomain 类和 Path 类。本教程将介绍获取 C# 代码的可执行路径的方法。使用 C# 中的 Assembly 类获取可执行路径

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便