如何从HttpClient 创建 CURL?

Zhi Lv - MSFT 32,021 信誉分 Microsoft 供应商
2024-02-27T06:27:29.8833333+00:00

我在 c# 中有许多通过 HttpClient 调用 API 的请求,并希望在调试视图中看到对应的 CURL。 例如:

string requestBody = @"{""name"":""reza"",""referenceCode"":""10001000"",""price"":10000}";
string requestUri = "submit";
var httpRequestMessage = new HttpRequestMessage(HttpMethod.Post, requestUri);
httpRequestMessage.Content = new StringContent(requestBody, Encoding.UTF8, "application/json");
httpRequestMessage.Headers.Add("Authorization", $"Bearer {Guid.NewGuid().ToString()}");
using var httpClient = new HttpClient();
httpClient.BaseAddress = new Uri("http://localhost:8080/api/v1");
await client.PostAsync(requestUri, httpRequest.Content);

现在,如何生成该请求的 CURL ?或者是否有任何工具可以从 HttpClient 生成 CURL ?

curl -X POST 'http://localhost:8080/api/v1/submit' -H 'Authorization: Bearer 4797c126-3f8a-454a-aff1-96c0220dae61' -H 'Content-Type: application/json; charset=utf-8' -d '{""name"":""reza"",""referenceCode"":10001000,""price"":10000}'"

注意: 此问题总结整理于:如何从 HttpClient 创建 CURL

ASP.NET Core
ASP.NET Core
.NET Framework 中一套用于生成 Web 应用程序和 XML Web 服务的技术。
22 个问题
0 个注释 无注释
{count} 票

接受的答案
  1. XuDong Peng-MSFT 10,176 信誉分 Microsoft 供应商
    2024-02-27T07:12:49.2733333+00:00

    你好,

    您的要求没有内置支持,您可以尝试使用第三方工具,例如 HttpClientToCurl 将此包添加到您的项目中:

    用户图像

    根据您的要求调用以下方法:GenerateCurlInString,GenerateCurlInConsole,GenerateCurlInFile

    string requestBody = @"{""name"":""reza"",""referenceCode"":""10001000"",""price"":10000}";
    string requestUri = "submit";
    var httpRequestMessage = new HttpRequestMessage(HttpMethod.Post, requestUri);
    httpRequestMessage.Content = new StringContent(requestBody, Encoding.UTF8, "application/json");
    httpRequestMessage.Headers.Add("Authorization", $"Bearer {Guid.NewGuid().ToString()}");
    using var httpClient = new HttpClient();
    httpClient.BaseAddress = new Uri(
     
    var curl = httpClient.GenerateCurlInString(httpRequestMessage);
    //show the curl in console
    httpClient.GenerateCurlInConsole(httpRequestMessage);
    

    结果: 用户图像

    用户图像


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

    0 个注释 无注释

0 个其他答案

排序依据: 非常有帮助