簡體   English   中英

CURL發布請求到C#發布請求

[英]CURL post request to C# post request

您能幫我用C#發出發帖請求嗎? 這是卷曲:

curl -X POST https://api.test.com/call \
  -H "Content-Type: application/json" \
  -H "Authorization: Token token=YOUR_TOKEN" \
  -d '{"amount":10.00, "id":"123", "customer":{"external_id":"100"}, "receiver":{"external_id":"200"}}'

我嘗試這樣做:

string myJson = "{"amount":10.00, "id":"123", "customer":{"external_id":"100"}, "receiver":{"external_id":"200"}}";
    using (var client = new HttpClient())
                {
                    client.BaseAddress = new Uri("https://api.test.com");                    
                    client.DefaultRequestHeaders.Add("APIAccessToken", "myToken");               
                    var content = new StringContent(myJson, Encoding.UTF8, "application/json");
                    var response = await client.PostAsync("https://api.test.com/call/", content);
                    resultContent = await response.Content.ReadAsStringAsync();
                }

但是越來越糟糕的請求響應400錯誤。 我對此並不陌生,將感謝您的幫助。

var response = await client.PostAsync("https://api.test.com/call/", content);

應該:

var response = await client.PostAsync("call", content);

另外,您的JSON似乎未正確轉義。 嘗試:

string myJson = "{\"amount\":10.00, \"id\":\"123\", \"customer\":{\"external_id\":\"100\"}, \"receiver\":{\"external_id\":\"200\"}}";

而且您還沒有聲明結果變量

// Missing var
var resultContent = await response.Content.ReadAsStringAsync();

基本上,您發布的示例甚至不應該編譯...

暫無
暫無

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

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