我正在尝试调用SMS服务VoodooSMS提供的API。他们没有有关如何在c#中实现的任何文档。我尝试了以下操作,但是在response.StatusCode上它从未中断。使用小提琴手,我可以看到发送了一个请求,但内容为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);
}
以前从未在C#中编写过使用RESTful API的服务,而仅在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);
提琴手展示的这对我完全没有意义。