互億無線 · 文檔中心

國際驗(yàn)證碼/通知 - 代碼示例


ASP對接國際驗(yàn)證碼接口DEMO示例
本文為您提供了ASP語言版本的國際驗(yàn)證碼接口對接DEMO示例

國際驗(yàn)證碼接口文檔 點(diǎn)擊下載

國際驗(yàn)證碼接口接入指南 點(diǎn)擊訪問

接口類型:互億無線國際短信接口。
,賬戶注冊:請通過該地址開通賬戶https://user.ihuyi.com/new/register.html
,注意事項(xiàng):
,(1)調(diào)試期間,請仔細(xì)閱讀接口文檔;
,(2)請使用 APIID 及 APIKEY來調(diào)用接口,可在會(huì)員中心獲??;
,(3)該代碼僅供接入互億無線短信接口參考使用,客戶可根據(jù)實(shí)際需要自行編寫;


<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%

Response.Charset = "gb2312"

'

'asp UTF轉(zhuǎn)GB2312   將UTF8編碼文字轉(zhuǎn)換為GB編碼文字的asp代碼
function UTF2GB(UTFStr)
for Dig=1 to len(UTFStr)
   '如果UTF8編碼文字以%開頭則進(jìn)行轉(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ù)返回每一個(gè)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

'二進(jìn)制轉(zhuǎn)換為十六進(jì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

'二進(jìn)制轉(zhuǎn)換為十進(jì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

'十六進(jìn)制轉(zhuǎn)換為二進(jì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

'判斷是否為有效的十六進(jìn)制代碼
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



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


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")	'手機(jī)號碼


    if mobile="" then
       response.Write("手機(jī)號碼不能為空")
    else
		
		if request.Form("send_code") = "" or Session("send_code")<>request.Form("send_code") then
			'防用戶惡意請求
			response.Write("請求超時(shí),請刷新頁面后重試")
		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://api.isms.ihuyi.com/webservice/isms.php?method=Submit"
			content = toUTF8("Your verification code is "&mobile_code)
			post_data = "account=用戶名&password=密碼&mobile="&mobile&"&content="&content
			'查看用戶名 登錄用戶中心->國際驗(yàn)證碼>產(chǎn)品總覽->API接口信息->APIID
			'查看密碼 登錄用戶中心->國際驗(yàn)證碼>產(chǎn)品總覽->API接口信息->APIKEY
			'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 %>

現(xiàn)在注冊,即享新用戶禮包!

在線咨詢
電話咨詢

服務(wù)熱線:

4008 808 898

服務(wù)熱線(工作時(shí)間):

4008 808 898

業(yè)務(wù)咨詢(非工作時(shí)間):

售后咨詢(非工作時(shí)間):

驗(yàn)證碼已發(fā)送到您的手機(jī),請查收!

輸入驗(yàn)證碼后,點(diǎn)擊“開通體驗(yàn)賬戶”按鈕可立即開通體驗(yàn)賬戶。

收不到短信驗(yàn)證碼?
互億無線不提供接碼服務(wù),接碼用戶請勿點(diǎn)擊開通按鈕。
×