【问题标题】:converting cURL request to asp.net c#将cURL请求转换为asp.net c#
【发布时间】:2021-01-22 19:00:55
【问题描述】:

我尝试将其转换为 c#,但我无法理解其他人熟悉的标签,如 BVN 和密钥对我来说很清楚,但我确实处于十字路口。

卷曲https://api.paystack.co/bank/resolve_bvn/:BVN

-H "授权:承载 YOUR_SECRET_KEY"

-X 获取

this enlightened me 但我是新手使用 curl

【问题讨论】:

    标签: c# asp.net api curl


    【解决方案1】:

    我只想解释命令标志。

    -H 表示请求头。在您的情况下,您需要将名称为 Authorization 的标题设置为密钥 Bearer YOUR_SECRET_KEY 例如 Bearer abcd123566 where abcd123566 是您的密钥。

    -X GET 表示您的请求方法(HTTP 动词)应该是 GET

    【讨论】:

      【解决方案2】:

      -H 表示请求的标头。在 C# 中,代码如下所示:

      private static HttpClient httpClient = new HttpClient();
      
      var uri = new Uri("https://api.paystack.co/bank/resolve_bvn/:BVN");
      var reqMessage = new HttpRequestMessage(HttpMethod.Get, uri);
      reqMessage.Headers.Authorization = new AuthenticationHeaderValue("Bearer", "YOUR_SECRET_KEY")
      
      // Setting the request content (including content-type)
      reqMessage.Content = new StringContent("Content of request", Encoding.UTF8, "application/json");
      
      var resp = await httpClient.SendAsync(reqMessage);
      

      您可以在此处阅读更多 C# 中的 HttpClient 和 API 请求:

      https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclient?view=netcore-3.1 https://docs.microsoft.com/en-us/aspnet/web-api/overview/advanced/calling-a-web-api-from-a-net-client

      【讨论】:

      • “Bearer”代表什么,我不需要像“application/json”这样指定请求内容类型吗?
      • 向 API 发送请求时,您通常需要一个身份验证令牌,此令牌需要一个安全方案,在本例中为 Bearer。有时您需要设置内容类型,但根据您的 curl 命令,不需要。我将更新我的答案以包括更改请求的内容类型。
      • 这是我第一次使用 curl,但您的回复确实让我到位。希望我能更好地与您联系,谢谢
      猜你喜欢
      • 2015-02-21
      • 2017-08-03
      • 2018-04-16
      • 2021-02-06
      • 2017-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-17
      相关资源
      最近更新 更多