-1

を使用してC#で使用されるようにカールを変換するにはどうすればよいですHttpClientか?

使用する必要があるカール呼び出しは次のとおりです。

Request:
curl -i \
-X POST \
-H "X-Version: 1" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer Your Authorization Token" \
-H "Accept: application/json" \
-d '{"text":"Test Message","to":["Recipients Mobile Number"]}' \
-s \
https://api.clickatell.com/rest/message

私は HttpClient の基本的な知識を持っていますが、curl 呼び出しについては何も知らないので、これは Google から理解できるものです。以下は私のコードですが、正しいかどうかわかりませんか?

using (var httpClient = new HttpClient())
{
     httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "abcdefghij0123456789");

     httpClient.DefaultRequestHeaders.Accept.Clear();
     httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

     httpClient.DefaultRequestHeaders.Add("X-Version", "1");

     StringContent stringContent = new StringContent("{\"text\":\"Test Message\",\"to\":[\"27936906909\"]}");
     stringContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");

     HttpResponseMessage httpResponseMessage = await httpClient.PostAsync("https://api.clickatell.com/rest/message", stringContent);
     if (httpResponseMessage.IsSuccessStatusCode)
     {
     }
     else
     {
          string failureMsg = "HTTP Status: " + httpResponseMessage.StatusCode.ToString() + " - Reason: " + httpResponseMessage.ReasonPhrase;
     }

     //string sjson = await httpResponseMessage.Content.ReadAsAsync<string>();
     //return sjson;
}

すべてが正しいように見えますが、実行すると、悪い要求が返され続けます。これを修正する方法がわかりませんか?curl 呼び出しから何かを逃したかどうかわかりませんか?

4

1 に答える 1