を使用して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 呼び出しから何かを逃したかどうかわかりませんか?