Я пытаюсь вызвать API, предоставляемый SMS-сервисом VoodooSMS.У них нет документации о том, как реализовать в C #.Я попытался следующее, однако это никогда не ломается на response.StatusCode.Используя fiddler, я вижу, что запрос отправлен, но с 0 байтами в качестве содержимого и без ответа от сервера.Я включил живой API-ключ, поэтому, пожалуйста, имейте в виду, что это скоро изменится, но есть 20 кредитов для тестирования.
Это документация от Voodoo SMS https://www.voodoosms.com/api/#introduction
async Task<string> sendVoodooSMS(ClientSMS clientSMS)
{
var request = WebRequest.Create("https://api.voodoosms.com/balance") as HttpWebRequest;
request.Method = "GET";
request.Headers.Add(HttpRequestHeader.Authorization, "Bearer BPNLmUBX9mjvYjN1kSgVW8wCocCnabPcrdoSzpryRRiq2w");
var response = request.GetResponse() as HttpWebResponse;
if (response.StatusCode == HttpStatusCode.OK)
{
Console.WriteLine(response.StatusCode);
}
else
{
Console.WriteLine(response.StatusCode);
}
return response.StatusCode.ToString();
}
[HttpPost]
[ValidateAntiForgeryToken]
[Authorize(Roles = "clients")]
public ActionResult sendSMS(ClientSMS clientSMS)
{
///
///
/// TEST VOODOO SMS
///
///
var voodooMessageResponse = this.sendVoodooSMS(clientSMS);
}
Никогда прежде не писал сервис для использования RESTful API в C #, только в AJAX, поэтому я немного застрял.Любая помощь очень ценится.
ОБНОВЛЕНИЕ: Извините, просто чтобы уточнить, точка останова на этой строке, если (response.StatusCode == HttpStatusCode.OK) никогда не достигается, код возвращается к вызывающему методу.Вызывающий метод находится в моем контроллере, и я хочу дождаться результата, чтобы я мог обновить тип возвращаемого значения метода следующим образом.
[HttpPost]
[ValidateAntiForgeryToken]
[Authorize(Roles = "clients")]
public async Task<ActionResult> sendSMS(ClientSMS clientSMS)
{
///
///
/// TEST VOODOO SMS
///
///
var voodooMessageResponse = await this.sendVoodooSMS(clientSMS);
Fiddler показывает это, что не имеет никакого смысла для меня.
Скрипач