找到了一家不錯的短信插件进肯,有需要對接的可以查看學習激蹲,在這邊分享一下,有需要的可以詳細看看江掩,了解一下学辱,以下是代碼示例:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
'接口類型:互億無線觸發(fā)短信接口,支持發(fā)送驗證碼短信环形、訂單通知短信等项郊。
'賬戶注冊:請通過該地址開通賬戶http://user.ihuyi.com/?9vXc7
'注意事項:
'(1)調(diào)試期間,請使用用系統(tǒng)默認的短信內(nèi)容:您的驗證碼是:【變量】斟赚。請不要把驗證碼泄露給其他人着降。
'(2)請使用 APIID 及 APIKEY來調(diào)用接口,可在會員中心獲绒志任洞;
'(3)該代碼僅供接入互億無線短信接口參考使用,客戶可根據(jù)實際需要自行編寫发侵;
Response.Charset = "gb2312"
'asp UTF轉(zhuǎn)GB2312? 將UTF8編碼文字轉(zhuǎn)換為GB編碼文字的asp代碼
function UTF2GB(UTFStr)
for Dig=1 to len(UTFStr)
? '如果UTF8編碼文字以%開頭則進行轉(zhuǎn)換
? if mid(UTFStr,Dig,1)="%" then
? ? ? 'UTF8編碼文字大于8則轉(zhuǎn)換為漢字
? ? if len(UTFStr) >= Dig+8 then
? ? ? ? GBStr=GBStr & ConvChinese(mid(UTFStr,Dig,9))
? ? ? ? Dig=Dig+8
? ? else
? ? ? GBStr=GBStr & mid(UTFStr,Dig,1)
? ? end if
? else
? ? ? GBStr=GBStr & mid(UTFStr,Dig,1)
? end if
next
UTF2GB=GBStr
end function
'GB2312轉(zhuǎn)UTF8的asp代碼? 將GB編碼文字轉(zhuǎn)換為UTF8編碼文字
Function toUTF8(szInput)
? ? Dim wch, uch, szRet
? ? Dim x
? ? Dim nAsc, nAsc2, nAsc3
? ? '如果輸入?yún)?shù)為空交掏,則退出函數(shù)
? ? If szInput = "" Then
? ? ? ? toUTF8 = szInput
? ? ? ? Exit Function
? ? End If
? ? '開始轉(zhuǎn)換
? ? ? For x = 1 To Len(szInput)
? ? ? ? '利用mid函數(shù)分拆GB編碼文字
? ? ? ? wch = Mid(szInput, x, 1)
? ? ? ? '利用ascW函數(shù)返回每一個GB編碼文字的Unicode字符代碼
? ? ? ? '注:asc函數(shù)返回的是ANSI 字符代碼,注意區(qū)別
? ? ? ? nAsc = AscW(wch)
? ? ? ? If nAsc < 0 Then nAsc = nAsc + 65536
? ? ? ? If (nAsc And &HFF80) = 0 Then
? ? ? ? ? ? szRet = szRet & wch
? ? ? ? Else
? ? ? ? ? ? If (nAsc And &HF000) = 0 Then
? ? ? ? ? ? ? ? uch = "%" & Hex(((nAsc \ 2 ^ 6)) Or &HC0) & Hex(nAsc And &H3F Or &H80)
? ? ? ? ? ? ? ? szRet = szRet & uch
? ? ? ? ? ? Else
? ? ? ? ? ? ? ? 'GB編碼文字的Unicode字符代碼在0800 - FFFF之間采用三字節(jié)模版
? ? ? ? ? ? ? ? uch = "%" & Hex((nAsc \ 2 ^ 12) Or &HE0) & "%" & _
? ? ? ? ? ? ? ? ? ? ? ? ? ? Hex((nAsc \ 2 ^ 6) And &H3F Or &H80) & "%" & _
? ? ? ? ? ? ? ? ? ? ? ? ? ? Hex(nAsc And &H3F Or &H80)
? ? ? ? ? ? ? ? szRet = szRet & uch
? ? ? ? ? ? End If
? ? ? ? End If
? ? Next? ? ? ?
? ? toUTF8 = szRet
End Function
'二進制轉(zhuǎn)換為十六進制的asp代碼
function c2to16(x)
? ? i=1
? ? for i=1 to len(x) step 4
? ? ? c2to16=c2to16 & hex(c2to10(mid(x,i,4)))
? ? next
end function
'二進制轉(zhuǎn)換為十進制的asp代碼
function c2to10(x)
? ? c2to10=0
? ? if x="0" then exit function
? ? ? i=0
? ? for i= 0 to len(x) -1
? ? ? if mid(x,len(x)-i,1)="1" then c2to10=c2to10+2^(i)
? ? next
end function
'十六進制轉(zhuǎn)換為二進制的asp代碼
function c16to2(x)
? ? i=0
? ? for i=1 to len(trim(x))
? ? ? tempstr= c10to2(cint(int("&h" & mid(x,i,1))))
? ? ? do while len(tempstr)<4
? ? ? ? ? tempstr="0" & tempstr
? ? ? loop
? ? ? c16to2=c16to2 & tempstr
? ? next
end function
function c10to2(x)
? ? mysign=sgn(x)
? ? x=abs(x)
? ? DigS=1
? ? do
? ? ? if x<2^DigS then
? ? ? ? exit do
? ? ? else
? ? ? ? DigS=DigS+1
? ? ? end if
? ? loop
? ? tempnum=x
? ? i=0
? ? for i=DigS to 1 step-1
? ? ? if tempnum>=2^(i-1) then
? ? ? ? ? tempnum=tempnum-2^(i-1)
? ? ? ? ? c10to2=c10to2 & "1"
? ? ? else
? ? ? ? ? c10to2=c10to2 & "0"
? ? ? end if
? ? next
? ? if mysign=-1 then c10to2="-" & c10to2
end function
'UTF8編碼文字將轉(zhuǎn)換為漢字
function ConvChinese(x)
? ? A=split(mid(x,2),"%")
? ? i=0
? ? j=0
? for i=0 to ubound(A)
? ? ? A(i)=c16to2(A(i))
? next
? for i=0 to ubound(A)-1
? ? DigS=instr(A(i),"0")
? ? Unicode=""
? ? for j=1 to DigS-1
? ? ? if j=1 then
? ? ? ? A(i)=right(A(i),len(A(i))-DigS)
? ? ? ? Unicode=Unicode & A(i)
? ? ? else
? ? ? ? ? i=i+1
? ? ? ? ? A(i)=right(A(i),len(A(i))-2)
? ? ? ? ? Unicode=Unicode & A(i)
? ? ? end if
? ? next
? ? if len(c2to16(Unicode))=4 then
? ? ? ? ConvChinese=ConvChinese & chrw(int("&H" & c2to16(Unicode)))
? ? else
? ? ? ? ConvChinese=ConvChinese & chr(int("&H" & c2to16(Unicode)))
? ? end if
? next
end function
'GB2312中文轉(zhuǎn)unicode(&#)的asp代碼? 將GB編碼文字轉(zhuǎn)換為unicode編碼文字
function chinese2unicode(Str)
? dim i
? dim Str_one
? dim Str_unicode
? if(isnull(Str)) then
? ? ? exit function
? end if
? for i=1 to len(Str)
? ? Str_one=Mid(Str,i,1)
? ? Str_unicode=Str_unicode&chr(38)
? ? Str_unicode=Str_unicode&chr(35)
? ? Str_unicode=Str_unicode&chr(120)
? ? Str_unicode=Str_unicode& Hex(ascw(Str_one))
? ? Str_unicode=Str_unicode&chr(59)
? next
? chinese2unicode=Str_unicode
end function?
'URL地址編碼解碼函數(shù)
Function URLDecode(enStr)
dim deStr
dim c,i,v
deStr=""
for i=1 to len(enStr)
? c=Mid(enStr,i,1)
? if c="%" then
? ? v=eval("&h"+Mid(enStr,i+1,2))
? ? if v<128 then
? ? deStr=deStr&chr(v)
? ? i=i+2
? ? else
? ? if isvalidhex(mid(enstr,i,3)) then
? ? ? if isvalidhex(mid(enstr,i+3,3)) then
? ? ? v=eval("&h"+Mid(enStr,i+1,2)+Mid(enStr,i+4,2))
? ? ? deStr=deStr&chr(v)
? ? ? i=i+5
? ? ? else
? ? ? v=eval("&h"+Mid(enStr,i+1,2)+cstr(hex(asc(Mid(enStr,i+3,1)))))
? ? ? deStr=deStr&chr(v)
? ? ? i=i+3
? ? ? end if
? ? else
? ? ? destr=destr&c
? ? end if
? ? end if
? else
? ? if c="+" then
? ? deStr=deStr&" "
? ? else
? ? deStr=deStr&c
? ? end if
? end if
next
URLDecode=deStr
end function
'判斷是否為有效的十六進制代碼
function isvalidhex(str)
dim c
isvalidhex=true
str=ucase(str)
if len(str)<>3 then isvalidhex=false:exit function
if left(str,1)<>"%" then isvalidhex=false:exit function
? c=mid(str,2,1)
if not (((c>="0") and (c<="9")) or ((c>="A") and (c<="Z"))) then isvalidhex=false:exit function
? c=mid(str,3,1)
if not (((c>="0") and (c<="9")) or ((c>="A") and (c<="Z"))) then isvalidhex=false:exit function
end function
'請求數(shù)據(jù)到短信接口
Function Post(url,data)
dim Https
set Https=server.createobject("MSXML2.XMLHTTP")
Https.open "POST",url,false
Https.setRequestHeader "Content-Type","application/x-www-form-urlencoded"
Https.send data
if Https.readystate=4 then
dim objstream
set objstream = Server.CreateObject("adodb.stream")
objstream.Type = 1
objstream.Mode =3
objstream.Open
objstream.Write Https.responseBody
objstream.Position = 0
objstream.Type = 2
objstream.Charset = "utf-8"
Post = objstream.ReadText
objstream.Close
set objstream = nothing
set https=nothing
end if
End Function
'函數(shù)返回隨機整數(shù)刃鳄。
Function gen_key(digits)
'Create and define array
dim char_array(50)
char_array(0) = "0"
char_array(1) = "1"
char_array(2) = "2"
char_array(3) = "3"
char_array(4) = "4"
char_array(5) = "5"
char_array(6) = "6"
char_array(7) = "7"
char_array(8) = "8"
char_array(9) = "9"
'Initiate randomize method for default seeding
randomize
'Loop through and create the output based on the the variable passed to
'the function for the length of the key.
do while len(output) < digits
num = char_array(Int((9 - 0 + 1) * Rnd + 0))
output = output + num
loop
'Set return
gen_key = output
End Function
Dim mobile
mobile = request("mobile") '手機號碼
? ? if mobile="" then
? ? ? response.Write("手機號碼不能為空")
? ? else
if request.Form("send_code") = "" or Session("send_code")<>request.Form("send_code") then
'防用戶惡意請求
response.Write("請求超時盅弛,請刷新頁面后重試")
else
dim target,post_data,content,res,mobile_code
mobile_code = gen_key(4)
Session("mobile_code") = mobile_code
'Response.Cookies("mobile_code") = mobile_code
Session("mobile") = mobile
'Response.Cookies("mobile") = mobile
target = "http://106.ihuyi.com/webservice/sms.php?method=Submit"
content = toUTF8("您的驗證碼是:"&mobile_code&"。請不要把驗證碼泄露給其他人叔锐。")
post_data = "account=用戶名&password=密碼&mobile="&mobile&"&content="&content
'查看用戶名 登錄用戶中心->驗證碼通知短信>產(chǎn)品總覽->API接口信息->APIID
'查看密碼 登錄用戶中心->驗證碼通知短信>產(chǎn)品總覽->API接口信息->APIKEY
'Response.write toUTF8("短信測試")
'response.Write(UTF2GB(Post(target,post_data)))
tempstr = UTF2GB(Post(target,post_data))
'if instr(tempstr,"提交成功")>0 Then
'response.Write("true")
'else
'response.Write("error")
'end if
Dim len1,len2
len1 = instr(1,tempstr,"</code>",1)-1
len2 = instr(1,tempstr,"<code>",1)
'response.Write(len2)
code=left(tempstr,len1)
code=right(code,(len1-len2-5))
'response.Write(code)
Dim len3,len4
len3 = instr(1,tempstr,"</msg>",1)-1
len4 = instr(1,tempstr,"<msg>",1)
'response.Write(len2)
msg=left(tempstr,len3)
msg=right(msg,(len3-len4-4))
response.Write(msg)
end if
? ? end If
%>