1.方案分析
通過編程實(shí)現(xiàn)短信息的發(fā)送是一件比較繁瑣的事情,目前,解決方法是通過計(jì)算機(jī)和手機(jī)的連線,使用手機(jī)編程語言編寫相關(guān)的短信程序來實(shí)現(xiàn),而這種方法不僅需要耗費(fèi)時(shí)間和精力,還需要有必備的硬件設(shè)施,并且必須具備手機(jī)編程的相關(guān)知識(shí)。本實(shí)例通過Web Service技術(shù)中接口實(shí)現(xiàn)遠(yuǎn)程訪問現(xiàn)有的短信發(fā)送服務(wù)器,并通過調(diào)用服務(wù)器的方法來發(fā)送短信。
利用新浪網(wǎng)提供的Web Service來實(shí)現(xiàn)短信的發(fā)送功能。Web Service的服務(wù)器地址是 http://smsinter.sina.com.cn/ws/smswebservice0101.wsdl。這個(gè)Web Servic僅提供了一個(gè)發(fā)送短信的方法“sendXml”。此方法的語法格式如下:
string sendXml (carrier , userid , password , mobilenumber , content , msgtype )
sendXml方法中的6個(gè)參數(shù)均為string類型,并且sendXml方法的返回值也是string類型。
以下是sendXml方法中的6個(gè)參數(shù)的具體說明如下:
carrier:運(yùn)營商名稱,使用時(shí)此參數(shù)并沒有什么具體要求,即這里面可以隨便輸入,輸入的字符串也不會(huì)在對(duì)方手機(jī)中有任何顯示。
userid:在新浪網(wǎng)上注冊(cè)的手機(jī)號(hào)。
password:在新浪網(wǎng)成功注冊(cè)手機(jī)后,新浪網(wǎng)反饋回來的密碼。
mobilenumber:要發(fā)送短信到對(duì)方的手機(jī)號(hào)碼。
content:所要發(fā)送短消息的內(nèi)容。
msgtype:發(fā)送短消息的類型。
調(diào)用此Web Service只需在VS2005.NET中直接“添加Web引用”,把該地址輸入即可。
注意:使用新浪服務(wù)發(fā)送手機(jī)短信時(shí),需要在新浪網(wǎng)站上進(jìn)行手機(jī)注冊(cè),注冊(cè)網(wǎng)址為http://sms.sina.com.cn/。
2.實(shí)施過程
下面將利用新浪網(wǎng)提供的Web Service發(fā)送手機(jī)短信,采用此方案發(fā)送手機(jī)短信時(shí),前提必須與互聯(lián)網(wǎng)連接。
程序?qū)崿F(xiàn)具體步驟:
(1)新建一個(gè)網(wǎng)站,默認(rèn)主頁為Default.aspx。
(2)Default.aspx頁面中主要控件類型、名稱及用途如下表所示。
表 Default.aspx頁面控件
控件類型
控件名稱
用途
HTML/Table
Table1
頁面布局
標(biāo)準(zhǔn)/TextBox
txtUserid
輸入無線手機(jī)ID
txtPassword
輸入無線手機(jī)密碼
txtMobilenumber
輸入對(duì)方手機(jī)號(hào)碼
txtContent
輸入發(fā)送信息內(nèi)容
標(biāo)準(zhǔn)/Button
Button1
執(zhí)行信息發(fā)送操作
(3)實(shí)例中單擊【發(fā)送手機(jī)短信】按鈕完成短信發(fā)送,【發(fā)送手機(jī)短信】按鈕的Click事件中調(diào)用新浪網(wǎng)提供的Web Service中的sendXml方法將短信發(fā)送出去,具體代碼如下。
protected void Button1_Click(object sender, EventArgs e)
{
SinaMessage.SMSWS SendMessage = new SinaMessage.SMSWS();
string messge = SendMessage.sendXml("Sina", this.txtUserid.Text, this.txtPassword.Text, this.txtMobilenumber.Text, this.txtContent.Text, "new");
Response.Write("發(fā)送成功!");
}
3.補(bǔ)充說明
在使用Web Service發(fā)送手機(jī)短信時(shí),必須要保證本地計(jì)算機(jī)與互聯(lián)網(wǎng)相連,這樣才能調(diào)用新浪提供的Web Service發(fā)送短信。如果本地計(jì)算機(jī)沒有上網(wǎng),則運(yùn)行代碼會(huì)出現(xiàn)錯(cuò)誤。
打印這篇