最近有個項目,短信服務使用的是阿里雲的,由於時間問題,沒有手動去構造sign去發送,而是直接使用阿里雲的SDK發送,所以這里算是做個筆記,或許以后還能用得到
首先,我們需要安裝阿里雲的SDK,推薦使用nuget安裝,搜索aliyun-net-sdk-core,直接按照即可

安裝完成之后就可以使用了,代碼如下:
using Aliyun.Acs.Core; using Aliyun.Acs.Core.Http; using Aliyun.Acs.Core.Profile; using System; namespace DemoConsole2 { class Program { static void Main(string[] args) { IClientProfile profile = DefaultProfile.GetProfile("cn-hangzhou", "<accessKeyId>", "<accessSecret>"); DefaultAcsClient client = new DefaultAcsClient(profile); CommonRequest request = new CommonRequest(); request.Method = MethodType.POST; request.Domain = "dysmsapi.aliyuncs.com"; request.Version = "2017-05-25"; request.Action = "SendSms"; // request.Protocol = ProtocolType.HTTP; request.AddQueryParameters("PhoneNumbers", "185XXXXXXXX"); request.AddQueryParameters("SignName", "簽名"); request.AddQueryParameters("TemplateCode", "SMS_176375688"); request.AddQueryParameters("TemplateParam", "{\"code\":\"074281\"}"); request.AddQueryParameters("OutId", ""); try { CommonResponse response = client.GetCommonResponse(request); var content = System.Text.Encoding.Default.GetString(response.HttpResponse.Content); Console.WriteLine(content); } catch (Exception e) { Console.WriteLine(e); } } } }
注意,其中參數要用AddQueryParameters方法,因為參數是放在QueryString中攜帶過去的,具體可以使用哪些參數可以參考阿里雲的開發文檔:https://help.aliyun.com/document_detail/101414.html?spm=a2c4g.11186623.6.616.74665f30I95HSl
其中accessKeyId和accessSecret可以在阿里雲上查看,如下圖

簽名和模板Code需要申請和審核,如下圖

