簡體   English   中英

對C#HttpClient的等效curl請求

[英]Equivalent curl request to c# HttpClient

如何在C#HttepClient中進行以下curl請求

curl -X POST“ https://api.knurld.io/v1/endpointAnalysis/file ” \\ -H“授權:$ AUTHORIZATION” \\ -H“開發人員ID:$ DEVELOPER_ID” \\ -H“ multipart / form-data ” \\ -F“ filename = PATH_TO_FILE”

這是同步信號,但我希望這是您需要的

    public void Send(string auth, string filePath, string developerId)
    {
        string payload = System.IO.File.ReadAllText(filePath);
        var content = new StringContent(payload);
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("Authorization", auth);
            client.DefaultRequestHeaders.Add("Content-Type", "multipart/form-data");
            client.DefaultRequestHeaders.Add("Developer-Id", developerId);
            var result = client.PostAsync("https://api.knurld.io/v1/endpointAnalysis/file", content).Result;
            string resultContent = result.Content.ReadAsStringAsync().Result;
        }
    }

親切的問候

對於HttpClient:

async Task Send(string developerId, string pathToFile, string auth)
    {
        using (HttpClient c = new HttpClient())
        {
            c.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(auth);
            c.DefaultRequestHeaders.Add("Developer-Id", developerId);
            var multipartFormDataContent = new MultipartFormDataContent();
            using (Stream fileStream = new FileStream(pathToFile, FileMode.Open))
            {
                multipartFormDataContent.Add(new StreamContent(fileStream));
                HttpResponseMessage httpResponse = await c.PostAsync(@"https://api.knurld.io/v1/endpointAnalysis/file", multipartFormDataContent);
                string response = await httpResponse.Content.ReadAsStringAsync();
            }
        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM