【问题标题】:WPF / C# Submit button to POST APIWPF/C# 提交按钮到 POST API
【发布时间】:2022-11-24 05:01:03
【问题描述】:

当用户按下表单上的按钮时,我试图使用 C# 发布以下 API。但是不知道从哪里开始。谁能帮忙?

按钮代码

private void Okta_Click(object sender, RoutedEventArgs e)

{ }

邮政: https://test.okta.com/api/v1/authn

身体

{
    "username": "user",
    "password": "password",
    "options": {
        "multiOptionalFactorEnroll": true,
        "warnBeforePasswordExpired": true
    }
}

当用户按下按钮时,它应该将用户添加到应用程序中。

【问题讨论】:

  • 这回答了你的问题了吗? Send HTTP POST request in .NET
  • 恐怕不是,它不清楚,我尝试了第一个选项。并且出现诸如无法使用 await 之类的错误

标签: c# httprequest wfp


【解决方案1】:

您可以使用 HttpClient 类来发出请求。

private async void Okta_Click(object sender, RoutedEventArgs e)
{
    var client = new HttpClient();
    var request = new HttpRequestMessage(HttpMethod.Post, "https://test.okta.com/api/v1/authn");
    request.Content = new StringContent("{"username": "user","password": "password","options": {"multiOptionalFactorEnroll": true,"warnBeforePasswordExpired": true}}", Encoding.UTF8, "application/json");
    var response = await client.SendAsync(request);
    var responseContent = await response.Content.ReadAsStringAsync();
}

【讨论】:

  • 谢谢@Fastnlight 的工作。下一阶段,我在早期代码的变量中有用户名和密码,我如何在正文中使用这些变量来替换文本字符串?
  • 在字符串内容中,你做{”username”: ”” + username(variable name here) “”, ”password”: ””password(variable name here)”” … etc。或者,您可以使用String.FormatString.Format("{{"username": "{0}","password": "{1}","options": {{"multiOptionalFactorEnroll": true,"warnBeforePasswordExpired": true}}}}", username, password), Encoding.UTF8, "application/json");
猜你喜欢
  • 2022-01-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-31
  • 2011-05-10
相关资源
最近更新 更多