C# DEMO
功能说明:该接口要求提前在云片后台添加模板,提交短信时,系统会自动匹配审核通过的模板,匹配成功任意一个模板即可发送。系统已提供的默认模板添加签名后可以直接使用。
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; using System.Text; using System.Threading.Tasks; using System.Web; namespace yunpianSmsClient { class Program { static void Main(string[] args) { // 设置为您的apikey(https://www.yunpian.com)可查 string apikey = "xxxxxxxxxxxxxxxxxxxxxxx"; // 发送的手机号 string mobile = "xxxxxxxxxxxxxxxxxxxxxxx"; // 发送模板编号 int tpl_id = 376841; // 发送模板内容 mobile = HttpUtility.UrlEncode(mobile, Encoding.UTF8); string tpl_value = HttpUtility.UrlEncode( HttpUtility.UrlEncode("#code#", Encoding.UTF8) + "=" + HttpUtility.UrlEncode("1234", Encoding.UTF8) + "&" + HttpUtility.UrlEncode("#min#", Encoding.UTF8) + "=" + HttpUtility.UrlEncode("5", Encoding.UTF8), Encoding.UTF8); // 发送内容 string text = "【云片网】您的验证码是1234,5分钟内有效。"; // 获取user信息url string url_get_user = "https://sms.yunpian.com/v2/user/get.json"; // 智能模板发送短信url string url_send_sms = "https://sms.yunpian.com/v2/sms/single_send.json"; // 指定模板发送短信url string url_tpl_sms = "https://sms.yunpian.com/v2/sms/tpl_single_send.json"; // 发送语音短信url string url_send_voice = "https://voice.yunpian.com/v2/voice/send.json"; string data_get_user = "apikey=" + apikey; string data_send_sms = "apikey=" + apikey + "&mobile=" + mobile + "&text=" + text; string data_tpl_sms = "apikey=" + apikey + "&mobile=" + mobile + "&tpl_id=" + tpl_id.ToString() + "&tpl_value=" + tpl_value; string data_send_voice = "apikey=" + apikey + "&mobile=" + mobile + "&code=" + "1234"; HttpPost(url_get_user, data_get_user); HttpPost(url_send_sms, data_send_sms); HttpPost(url_tpl_sms, data_tpl_sms); HttpPost(url_send_voice, data_send_voice); } public static void HttpPost(string Url, string postDataStr) { byte[] dataArray = Encoding.UTF8.GetBytes(postDataStr); // Console.Write(Encoding.UTF8.GetString(dataArray)); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url); request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; request.ContentLength = dataArray.Length; //request.CookieContainer = cookie; Stream dataStream = request.GetRequestStream(); dataStream.Write(dataArray, 0, dataArray.Length); dataStream.Close(); try { HttpWebResponse response = (HttpWebResponse)request.GetResponse(); StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8); String res = reader.ReadToEnd(); reader.Close(); Console.Write("\nResponse Content:\n" + res + "\n"); } catch(WebException e) { Console.Write(e.Message + e.ToString()); Stream stream = e.Response.GetResponseStream(); StreamReader reader = new StreamReader(stream, Encoding.UTF8); String res = reader.ReadToEnd(); reader.Close(); Console.Write("\nResponse Content:\n" + res + "\n"); } } } }