为 Asp.net 网站新增发送手机短信功能
?本文旨在幫助那些為網站發送手機短信正在尋求解決方案還未最終找到解決方案的朋友提供參考。
??? 適合人群 須滿足一下條件之一,如果以下3個條件您都不滿足,為節約您寶貴的時間,請終止閱讀本篇文章。
??? 條件如下:
???????? 1.一條短信內容進行短信群發的目標手機數量不能太大,否則出現嚴重的短信延時。
???????? 2.不想買短信貓之類的設備,同時又覺得部分國有電信單位提供的短信接口不好用,或者認為其服務不夠好。
???????? 3.擔心網絡上短信sp供應商信息不真實,畢竟大部分短信供應商不能通過當面交易。
?? 看到這里說明您對我的解決方案是感興趣的,我這樣解決的:
??????? 找過幾家國有企業短信sp供應商,效果比我想象的要差很多,于是直接在網絡上找提供類似服務的短信供應商。發現有很多這樣的民營sp短信供應商的服務都是通過網銀或者支付寶進行購買。這又讓我擔心是騙錢的。說實在的挺苦惱的,甚至有朋友建議直接買個幾百元的低端多普達,在windows mobile 內寫一個自動發送短信的功能充當短信貓。后來苦苦尋覓中我發現了?悠逸企業短信平臺(申明:無任何廣告嫌疑!)可以購買一百元1000條手機短信而且注冊后可以先試用10條短信。將10條試用完后,我用信用卡通過其網站購買了100元短信。心想如果被騙了,這樣損失也不會很大。詳細步驟如下:
?????? 1.在其平臺上注冊一個屬于自己的用戶名。
?????? 2.在我們的網站或者類庫中加入這段方法?(注:此方法不是官方提供的,是我看完官方的API后用C#編寫)
1 publicstaticbool SendMobileMsg(string msgContent, List<string> destListPhones) 2 { 3 try 4 { 5 bool result =false; 6 string strPhones =string.Join(";", destListPhones.ToArray()); 7 strPhones +=";"; 8 var encoding = System.Text.Encoding.GetEncoding("GB2312"); 9 10 string postData =string.Format("uid=用戶名&pwd=密碼&mobile={0};&msg={1}&dtime=", strPhones, msgContent); 11 12 byte[] data = encoding.GetBytes(postData); 13 14 // 定義 WebRequest15 ? HttpWebRequest myRequest =16 (HttpWebRequest)WebRequest.Create("http://www.smsadmin.cn/smsmarketing/wwwroot/api/post_send/"); 17 18 myRequest.Method ="POST"; 19 myRequest.ContentType ="application/x-www-form-urlencoded"; 20 myRequest.ContentLength = data.Length; 21 22 Stream newStream = myRequest.GetRequestStream(); 23 24 //發送數據25 ? newStream.Write(data, 0, data.Length); 26 newStream.Close(); 27 28 // 得到 Response29 HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse(); 30 StreamReader reader =new StreamReader(myResponse.GetResponseStream(), Encoding.Default); 31 string content = reader.ReadToEnd(); 32 33 if (content.Substring(0, 1) =="0") 34 result =true; 35 else36 { 37 if (content.Substring(0, 1) =="2") //余額不足38 { 39 //"手機短信余額不足"; 40 //TODO41 } 42 else43 { 44 //短信發送失敗的其他原因,請參看官方API45 } 46 result =false; 47 } 48 49 return result; 50 } 51 catch52 { 53 returnfalse; 54 } 55 56 }很“干凈”的調用,沒有WebService也沒有COM。
唯一要注意的就是編碼用 GB2312 否則您收到短信的中文部分都是亂碼,另外第10行的用戶名和密碼被硬編碼了,應寫在配置文件內。
最后,希望本篇能夠幫助到您!
轉載于:https://www.cnblogs.com/goodsunny/p/3176601.html
總結
以上是生活随笔為你收集整理的为 Asp.net 网站新增发送手机短信功能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求一个好听的恒星名字
- 下一篇: 海信电视机32寸多少钱?