HttpClient请求并定义UTF-8编码

VB.NET · 2023-05-01 · 279 人浏览

在 VB.NET 的 HttpClient 类中,您可以通过设置 HTTP 请求的 Content-Type 标头来指定请求正文的编码方式。下面是一个例子:

Imports System.Net.Http
Imports System.Text

Public Class Form1

    Private Async Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        Using client As New HttpClient()
            ' 创建一个 StringContent 对象,并将其编码方式设置为 UTF-8
            Dim content As New StringContent("Hello, world!", Encoding.UTF8, "text/plain")

            Dim response As HttpResponseMessage = Await client.PostAsync("https://example.com", content)
            If response.IsSuccessStatusCode Then
                Dim result As String = Await response.Content.ReadAsStringAsync()
                Console.WriteLine(result)
            Else
                Console.WriteLine("请求失败,状态码: {0}", response.StatusCode)
            End If
        End Using

    End Sub

End Class

在此示例中,我们创建了一个 StringContent 对象,并将其编码方式设置为 UTF-8。然后,我们创建了一个 HttpClient 对象,并调用其 PostAsync 方法发送 POST 请求。最后,我们读取响应内容并将其打印到控制台上。

请注意,在此示例中,我们使用 Encoding.UTF8 来指定编码方式。如果需要使用其他编码方式,可以将其替换为相应的编码名称。另外,我们还通过 "text/plain" 设置了请求正文的媒体类型,如果需要使用其他媒体类型,可以更改该值。