天天看點

ASP彩信接口開發經驗及具體開發實作

一、頭部配置調用

<!--#include file="md5.asp"-->
<%
url="http://sdk3.entinfo.cn:8060/webservice.asmx"
host="sdk3.entinfo.cn:8060"
sn="SDK-SSD-010-00001" '替換成您自己的序列号
password="xxxxx"  '替換成您自己的密碼
pwd=MD5(sn & password)
%>
           

二、查詢賬戶餘額balance()

參數名稱 說明 備注
Sn 軟體序列号 格式XXX-XXX-XXX-XXXXX
Pwd 密碼 md5(sn+password) 32位大寫 密文 +表示連接配接

函數傳回值:String(餘額)

接口位址:http://sdk3.entinfo.cn:8060/webservice.asmx?op=balance

示例:序列号SDK-SSD-010-00001 密碼 xxxxxx

參數輸入:

SN= SDK-SSD-010-00001

PWD= 3B5D3C427365F40C1D27682D78BB31E0

示例傳回結果: 餘額79109條短信

XML格式:

ASP彩信接口開發經驗及具體開發實作

具體函數ASP實作:

function balance()
	SoapRequest="<?xml version="&CHR(34)&"1.0"&CHR(34)&" encoding="&CHR(34)&"utf-8"&CHR(34)&"?>"& _
	"<soap:Envelope xmlns:xsi="&CHR(34)&"http://www.w3.org/2001/XMLSchema-instance"&CHR(34)&" "& _
	"xmlns:xsd="&CHR(34)&"http://www.w3.org/2001/XMLSchema"&CHR(34)&" "& _
	"xmlns:soap="&CHR(34)&"http://schemas.xmlsoap.org/soap/envelope/"&CHR(34)&">"& _
	"<soap:Body>"& _
	"<balance xmlns="&CHR(34)&"http://tempuri.org/"&CHR(34)&">"& _
	"<sn>"&sn&"</sn>"& _
	"<pwd>"&pwd&"</pwd>"& _
	"</balance>"& _
	"</soap:Body>"& _
	"</soap:Envelope>"
	Set xmlhttp = server.CreateObject("Msxml2.XMLHTTP")
	xmlhttp.Open "POST",url,false
	xmlhttp.setRequestHeader "Content-Type", "text/xml;charset=utf-8"
	xmlhttp.setRequestHeader "HOST",host
	xmlhttp.setRequestHeader "Content-Length",LEN(SoapRequest)
	xmlhttp.setRequestHeader "SOAPAction", "http://tempuri.org/balance"
	xmlhttp.Send(SoapRequest)
	If xmlhttp.Status = 200 Then
	Set xmlDOC = server.CreateObject("MSXML.DOMDocument")
	xmlDOC.load(xmlhttp.responseXML)
	balance=xmlDOC.documentElement.selectNodes("//balanceResult")(0).text
	Set xmlDOC = nothing
	Else
	balance=xmlhttp.Status&" "&xmlhttp.StatusText
	End if
	Set xmlhttp = Nothing
end function 
           

調用:

<% Response.Write("目前賬戶餘額為"&balance()&"條短信") %>
           

三、群發彩信mdMmsSend(title,mobile,content,stime)

參數名稱 說明 是否必須    備注
Sn 軟體序列号 格式XXX-XXX-XXX-XXXXX
Pwd 密碼 md5(sn+password) 32位大寫密文
title 彩信主題 限制在30字元以内
Mobile 手機号 手機号碼多個以英文逗号隔開
Content 内容 base64編碼(檔案名1,檔案base64編碼串;檔案名2,檔案base64編碼串);實際發送檔案小于等于50*1024 位元組
stime 定時時間 例如:2010-12-29 16:27:03(非定時置空)

函數傳回值:String。

content是您發送的彩信的内容:包含圖檔和聲音及文本;

1.檔案類型: 文本是.txt 圖檔是.jpg或者.gif 聲音是.mid或者.amr

2.内容格式:

幀數_檔案類型.擴充名 + 英文逗号 + 檔案的base64編碼字元串 + 分号 ;

例如:“1_1.txt,” + 檔案base64編碼字元串 + “;” + “1_2.jpg,” + 檔案base64編碼字元串+”;”+”1_3.mid”+檔案base64編碼字元串

文本是 n_1.txt  圖檔是 n_2.jpg 或者是 n_2.gif  聲音是 n_3.mid ;

N表示目前第幾幀,字尾不變,編碼均為GB2312。

接口位址:http://sdk3.entinfo.cn:8060/webservice.asmx?op=mdMmsSend

示例1

SN= SDK-SSD-010-00001

PWD=3B5D3C427365F40C1D27682D78BB31E0

title:彩信測試

Mobile:139***404,138***213…………….

Content:測試

Stime: ""

輸出結果:

XML格式:

ASP彩信接口開發經驗及具體開發實作

具體函數ASP實作:

'mdMmsSend彩信發送
Function mdMmsSend(title,mobile,content,stime)
SoapRequest="<?xml version="&CHR(34)&"1.0"&CHR(34)&" encoding="&CHR(34)&"utf-8"&CHR(34)&"?>"& _
	"<soap:Envelope xmlns:xsi="&CHR(34)&"http://www.w3.org/2001/XMLSchema-instance"&CHR(34)&" "& _
	"xmlns:xsd="&CHR(34)&"http://www.w3.org/2001/XMLSchema"&CHR(34)&" "& _
	"xmlns:soap="&CHR(34)&"http://schemas.xmlsoap.org/soap/envelope/"&CHR(34)&">"& _
	"<soap:Body>"& _
	"<mdMmsSend xmlns="&CHR(34)&"http://tempuri.org/"&CHR(34)&">"& _
	"<sn>"&sn&"</sn>"& _
	"<pwd>"&pwd&"</pwd>"& _
	"<title>"&title&"</title>"& _
	"<mobile>"&mobile&"</mobile>"& _
	"<content>"&content&"</content>"& _
	"<stime>"&stime&"</stime>"& _
	"</mdMmsSend>"& _
	"</soap:Body>"& _
	"</soap:Envelope>"
	
	Set xmlhttp = server.CreateObject("Msxml2.XMLHTTP")
	xmlhttp.Open "POST",url,false
	xmlhttp.setRequestHeader "Content-Type", "text/xml;charset=utf-8"
	xmlhttp.setRequestHeader "HOST",host
	xmlhttp.setRequestHeader "Content-Length",LEN(SoapRequest)
	xmlhttp.setRequestHeader "SOAPAction", "http://tempuri.org/mdMmsSend"
	xmlhttp.Send(SoapRequest)
	If xmlhttp.Status = 200 Then
	
	Set xmlDOC = server.CreateObject("MSXML.DOMDocument")
	xmlDOC.load(xmlhttp.responseXML)
	mdMmsSend=xmlDOC.documentElement.selectNodes("//mdMmsSendResult")(0).text
	Set xmlDOC = nothing
	Else
	mdMmsSend=xmlhttp.Status&" "&xmlhttp.StatusText
	
	End if
	Set xmlhttp = Nothing

End Function
           

調用:

<%
'發送彩信的Demo
Dim img_base
'ImagesToBase64("1.gif") 圖檔base64編碼函數 對同路徑下圖檔1.gif進行base64編碼
img_base=ImagesToBase64("baidu.gif")  '此檔案同路徑下的圖檔名
img_base="1_2.gif,"&replace(img_base,chr(10),"") '過濾換行

Response.write( mdMmsSend("彩信标題","18636924700",img_base,""))

Function ImagesToBase64(FileName)
Dim xml
Dim root
Dim fs
Dim FilePath
Dim objStream
Dim objXMLDoc
Dim Base64
''定義變量完結
'建立對像
FilePath=Server.MapPath(FileName)
getFileExt = Mid(FilePath, InstrRev(FilePath, ".") + 1)

Set objXMLDoc=Server.CreateObject("msxml2.FreeThreadedDOMDocument")
    '設定生成XML文檔的根為 Base64Data
    objXMLDoc.loadXML "<?xml version='1.0'?><Base64Data />"

Set fs = Server.createObject("Scripting.FileSystemObject") ''伺服器需要FSO元件
If fs.FileExists(FilePath) Then '判斷File檔案是否存在
    '用 stream 來讀取資料
    Set objStream = Server.CreateObject("ADODB.Stream")
    objStream.Type = 1
    objStream.Open
    objStream.LoadFromFile FilePath

    objXMLDoc.documentElement.dataType = "bin.base64"
    objXMLDoc.documentElement.nodeTypedvalue = objStream.Read
    '資料流讀取結束.得到了值 objXMLDoc
    '建立XML檔案
          Set xml = Server.CreateObject("msxml2.FreeThreadedDOMDocument")
          xml.load objXMLDoc
          If xml.ReadyState>2 Then
            Set root=xml.getElementsByTagName("Base64Data")
            Base64=root.Item(0).Text
          else
            Base64=""
          End If
          Set xml=Nothing
    Set objStream=Nothing
else
            Base64=""
End If

Set fs=Nothing
Set objXMLDoc=Nothing

ImagesToBase64=Base64

End Function

%>
           

四、webservice傳回集合對照表:

傳回值 傳回值說明
1 沒有資料需要接收
-2 帳号/密碼不正确 
-3 重複登陸
-4 餘額不足
-5 資料格式錯誤
-6 參數有誤
-8 流量控制錯誤
-11 資料庫錯誤
-12 序列号狀态錯誤
-13 沒有送出增值内容
-14 伺服器寫檔案失敗
-17 該接口禁止使用該方法
-18  等上一批送出結果傳回再繼續下一批送出
-15 内容長度長
-22 Ip綁定

五、附加說明:

1.彩信語音SDK位址:

常用接口位址:http://sdk3.entinfo.cn:8060/webservice.asmx

2.其它說明:

(1)開發使用的帳号必須為SDK開頭,如SDK-SSD-010-00001,帳号第一次需要調用Register方法注冊一次.僅需注冊一次即可,資訊必須真實

(2)UnRegister與Register配合使用, 連續使用不得超過10次/天;

3. 鄭重聲明:

(1)禁止相同的内容多個手機号連續一條一條送出. 否則禁用帳号,由此帶來損失由客戶自行負責.

(2)請客戶提供外網伺服器IP以便于綁定IP發送,提高賬号的安全性!

(3)在程式裡最好有配置檔案,程式自動判斷當某個接口連接配接逾時送出速度變慢時.程式可以自動切換其它的接口以下是推薦的幾個伺服器,僅接口位址不同而已.方法全部相同;

位址1:http://sdk3.entinfo.cn:8060/webservice.asmx

這些位址都是标準的webservice位址,C#,Java客戶可以按照自己熟悉的方式去解析String   

或者

位址1:http://sdk3.entinfo.cn:8060/webservice.asmx?wsdl

六、示例Demo源代碼下載下傳:

DEMO    ASP版md5加密檔案   SDK彩信接口文檔   所有下載下傳

繼續閱讀