vb.net如何用HttpClient.PostAsync发出http请求?

fairy violet 20 信誉分
2024-09-20T06:48:52.93+00:00

例如

dim h as new HttpClient()

dim s$="http://xxx.xxx/xxx?service=login&json={""username"":""abc"",""password"":""123""}"

dim r = h.GetAsync(s).Result

可以成功登录,但

dim h as new HttpClient()

dim s$="http://xxx.xxx/xxx"

dim t$="{""service"":""login"",""json"":{""username"":""abc"",""password"":""123""}}"

dim c = new StringContent(t, System.Text.Encoding.UTF8, "application/json")

dim r = HttpClient.PostAsync(s,c).Result

会返回登录超时。

应该怎么写才正确?

.NET
.NET
基于 .NET 软件框架的 Microsoft 技术。
66 个问题
VB
VB
Microsoft 开发的一种面向对象的编程语言,其在 .NET Framework 上实现。 以前称为 Visual Basic .NET。
73 个问题
0 个注释 无注释
{count} 票

接受的答案
  1. Jiachen Li-MSFT 32,456 信誉分 Microsoft 供应商
    2024-09-23T06:57:25.4866667+00:00

    您好,

    1. 确保你传递的 URL 是用于处理 POST 请求的正确地址。
    2. 确认服务端是否支持 POST: 你需要确认服务端是否支持 POST 请求登录。如果支持,你需要确保 POST 请求的 JSON 数据格式正确。例如,服务端可能希望 POST 请求中的 json 参数是字符串类型,而不是对象类型。
    3. 改用URL 查询参数的 POST 请求: 如果你想坚持使用 POST 请求,但服务端习惯从查询字符串中获取参数,可以将参数放入 URL 中,而不是请求体中,类似于 GET 请求的做法。
    4. 如果服务端确实需要在 POST 的 body 中接收数据,你可以尝试进一步与服务端开发人员沟通,明确他们期望的数据结构,并确保你发送的 JSON 数据符合其要求。

    如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。

    1 个人认为此答案很有帮助。

0 个其他答案

排序依据: 非常有帮助

你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。