德州阿里云代理商:asp短信接口代码

以下是一个使用ASP语言调用阿里云短信接口的简单示例代码:

<%
' 引入必要的组件
Set xmlhttp = Server.CreateObject("Msxml2.ServerXMLHTTP")
Set xmlDoc = Server.CreateObject("Msxml2.DOMDocument")
Set xmlElem = Server.CreateObject("MSXML2.XMLDOM")
xmlDoc.async = False

' 设置阿里云短信接口的请求参数
accessKeyId = "你的阿里云AccessKey ID"
accessKeySecret = "你的阿里云AccessKey Secret"
signatureMethod = "HMAC-SHA1"
signatureNonce = CStr(Int(Rnd * 10000000))
signatureVersion = "1.0"
timestamp = URLEncode(FormatDateTime(Now, vbGeneralDate))

' 构建签名字符串
canonicalizedQueryString = "AccessKeyId=" & accessKeyId & "&Format=XML&" & _
                           "SignatureMethod=" & URLEncode(signatureMethod) & "&" & _
                           "SignatureNonce=" & URLEncode(signatureNonce) & "&" & _
                           "SignatureVersion=" & URLEncode(signatureVersion) & "&" & _
                           "Timestamp=" & timestamp & "&" & _
                           "Version=2017-05-25"

stringToSign = "GET" & "&" & URLEncode("/") & "&" & URLEncode(canonicalizedQueryString)

' 使用AccessKey Secret生成签名
signature = URLEncode(Base64Encode(HmacSHA1(accessKeySecret & "&", stringToSign)))

' 构建请求URL
requestURL = "http://dysmsapi.aliyuncs.com/?" & canonicalizedQueryString & "&" & "Signature=" & signature

' 发起GET请求,获取短信发送结果
xmlhttp.open "GET", requestURL, False
xmlhttp.send ""

responseXML = xmlhttp.responseText

' 解析XML响应结果,提取短信发送状态码
xmlDoc.loadXML responseXML
Set nodeList = xmlDoc.documentElement.getElementsByTagName("Code")

If nodeList.Length > 0 Then
    statusCode = nodeList.Item(0).Text
    If statusCode = "OK" Then
        ' 短信发送成功
        Response.Write "短信发送成功!"
    Else
        ' 短信发送失败
        Response.Write "短信发送失败,错误码:" & statusCode
    End If
Else
    Response.Write "解析短信发送结果失败。"
End If

' 函数:将字符串进行URL编码
Function URLEncode(ByVal str)
    Dim i, c, strResult
    strResult = ""
    For i = 1 To Len(str)
        c = Mid(str, i, 1)
        If Asc(c) >= 48 And Asc(c) <= 57 Or Asc(c) >= 65 And Asc(c) <= 90 Or Asc(c) >= 97 And Asc(c) <= 122 Then
            strResult = strResult & c
        Else
            strResult = strResult & "%" & Right("0" & Hex(Asc(c)), 2)
        End If
    Next
    URLEncode = strResult
End Function

' 函数:使用HMAC-SHA1算法进行加密
Function HmacSHA1(ByVal key, ByVal data)
    Set typeobj = Server.CreateObject("System.Text.UTF8Encoding")
    Set hmacsha1 = Server.CreateObject("System.Security.Cryptography.HMACSHA1")
    Set keyBytes = typeobj.GetBytes_4(key)
    hmacsha1.Key = keyBytes
    Set dataBytes = typeobj.GetBytes_4(data)
    Set hashBytes = hmacsha1.ComputeHash_2(dataBytes)
    HmacSHA1 = ByteArrayToHexString(hashBytes)
End Function

' 函数:将字节数组转换为十六进制字符串
Function ByteArrayToHexString(ByVal bytes)
    Dim hexstr, i
    hexstr = ""
    For i = 1 To LenB(bytes)
        hexstr = hexstr & Right("0" & Hex(Ascb(Midb(bytes, i, 1))), 2)
    Next
    ByteArrayToHexString = hexstr
End Function

' 函数:将字符串进行Base64编码
Function Base64Encode(ByVal data)
    Set base64Encode = Server.CreateObject("System.Text.UTF8Encoding")
    Set base64Encode = Server.CreateObject("System.Convert")
    Set bytes = base64Encode.FromBase64String_2(data)
    Base64Encode = base64Encode.GetString_4(bytes)
End Function
%>

请将上述代码中的accessKeyIdaccessKeySecret替换为你自己的阿里云AccessKey ID和AccessKey Secret。

这里仅提供了一个简单的示例代码,实际使用时可能需要根据自己的需求调整和完善代码。同时,为了确保代码的安全性和稳定性,建议在生产环境中使用HTTPS协议进行请求。

德州阿里云代理商提供了ASP短信接口代码,你可以参考以下示例代码:

  1. 发送短信接口:
<%
' 导入必要的命名空间
Imports System.Security.Cryptography
Imports System.Text
Imports System.Web
Imports System.IO
Imports System.Net
Imports System.Net.Http
Imports System.Net.Http.Headers

' 发送短信函数
Function SendSMS(ByVal mobile As String, ByVal message As String) As String
    Dim res As String = ""
    Dim param As String = ""
    Dim code As String = ""
    Dim postDataStr As String = ""
    Dim accountSid As String = "your_account_sid" ' 替换为你的账号SID
    Dim authToken As String = "your_auth_token" ' 替换为你的授权令牌
    Dim url As String = "https://dysmsapi.aliyuncs.com/2017-05-25/SendSms"

    ' 构建时间戳
    Dim epoch As DateTime = New DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)
    Dim timestamp As Long = (DateTime.UtcNow - epoch).TotalMilliseconds

    ' 构建签名
    Dim sign As String = AccountSign(accountSid, authToken, timestamp)

    ' 构建请求参数
    param = "{""PhoneNumbers"":""" & mobile & """,""SignName"":""your_sign_name"",""TemplateCode"":""your_template_code"",""TemplateParam"":""{""message"":""" & message & """}""}"
    postDataStr = "SignatureMethod=HMAC-SHA1&SignatureNonce=1234567890&SignatureVersion=1.0&AccessKeyId=" & accountSid & "&Timestamp=" & timestamp & "&Format=JSON&Signature=" & HttpUtility.UrlEncode(sign) & "&Action=SendSms&Version=2017-05-25" & "&RegionId=cn-hangzhou&" & param
    
    ' 发送请求
    Dim result As String = HttpPost(url, postDataStr)

    ' 处理返回结果
    If result.Contains("""Code"":""OK""") Then
        res = "短信发送成功"
    Else
        ' 解析错误信息
        Dim start As Integer = result.IndexOf("""Code"":""") + 9
        Dim [end] As Integer = result.IndexOf("""", start)
        code = result.Substring(start, [end] - start)
        res = "短信发送失败,错误码:" & code
    End If

    Return res
End Function

' 构建请求签名的函数
Function AccountSign(ByVal accountSid As String, ByVal authToken As String, ByVal timestamp As Long) As String
    Dim signRef As String = accountSid & authToken & timestamp.ToString()
    ' 使用SHA1哈希算法进行散列计算
    Dim sha As SHA1 = New SHA1CryptoServiceProvider()
    Dim signBytes As Byte() = sha.ComputeHash(Encoding.UTF8.GetBytes(signRef))
    ' 将字节数组转换为Base64字符串
    Dim sign As String = Convert.ToBase64String(signBytes)
    Return sign
End Function

' 发送HTTP POST请求的函数
Function HttpPost(ByVal url As String, ByVal postDataStr As String) As String
    Dim request As WebRequest = WebRequest.Create(url)
    request.Method = "POST"
    request.ContentType = "application/x-www-form-urlencoded"
    Dim parameterBytes As Byte() = Encoding.UTF8.GetBytes(postDataStr)
    request.ContentLength = parameterBytes.Length
    Dim requestStream As Stream = request.GetRequestStream()
    requestStream.Write(parameterBytes, 0, parameterBytes.Length)
    requestStream.Close()
    Dim response As WebResponse = request.GetResponse()
    Dim responseStream As Stream = response.GetResponseStream()
    Dim streamReader As StreamReader = New StreamReader(responseStream, Encoding.GetEncoding("utf-8"))
    Dim result As String = streamReader.ReadToEnd()
    streamReader.Close()
    responseStream.Close()
    response.Close()
    Return result
End Function

' 测试短信发送
Dim mobile As String = "18012345678" ' 接收短信的手机号码
Dim message As String = "您的验证码是:123456" ' 短信内容
Dim result As String = SendSMS(mobile, message)
Response.Write("发送结果:" & result)
%>

请注意替换代码中的your_account_sidyour_auth_tokenyour_sign_nameyour_template_code为你的阿里云账号对应的信息。

德州阿里云代理商:asp短信接口代码
  1. 查询短信发送记录接口:
<%
' 导入必要的命名空间
Imports System.Security.Cryptography
Imports System.Text
Imports System.Web
Imports System.IO
Imports System.Net
Imports System.Net.Http
Imports System.Net.Http.Headers

' 查询短信发送记录函数
Function QuerySMS(ByVal mobile As String, ByVal date As Date) As String
    Dim res As String = ""
    Dim param As String = ""
    Dim postDataStr As String = ""
    Dim accountSid As String = "your_account_sid" ' 替换为你的账号SID
    Dim authToken As String = "your_auth_token" ' 替换为你的授权令牌
    Dim url As String = "https://dysmsapi.aliyuncs.com/2017-05-25/QuerySendDetails"

    ' 构建时间戳
    Dim epoch As DateTime = New DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)
    Dim timestamp As Long = (DateTime.UtcNow - epoch).TotalMilliseconds

    ' 构建签名
    Dim sign As String = AccountSign(accountSid, authToken, timestamp)

    ' 构建请求参数
    param = "{""PhoneNumber"":""" & mobile & """,""SendDate"":""" & date.ToString("yyyyMMdd") & """,""PageSize"":""10"",""CurrentPage"":""1""}"
    postDataStr = "SignatureMethod=HMAC-SHA1&SignatureNonce=1234567890&SignatureVersion=1.0&AccessKeyId=" & accountSid & "&Timestamp=" & timestamp & "&Format=JSON&Signature=" & HttpUtility.UrlEncode(sign) & "&Action=QuerySendDetails&Version=2017-05-25&RegionId=cn-hangzhou&" & param
    
    ' 发送请求
    Dim result As String = HttpPost(url, postDataStr)

    ' 处理返回结果
    If result.Contains("""Code"":""OK""") Then
        res = "查询成功"
    Else
        ' 解析错误信息
        Dim start As Integer = result.IndexOf("""Code"":""") + 9
        Dim [end] As Integer = result.IndexOf("""", start)
        code = result.Substring(start, [end] - start)
        res = "查询失败,错误码:" & code
    End If

    Return res
End Function

' 测试短信发送记录查询
Dim mobile As String = "18012345678" ' 查询短信记录的手机号码
Dim date As Date = DateTime.Now.Date ' 查询的日期
Dim result As String = QuerySMS(mobile, date)
Response.Write("查询结果:" & result)
%>

同样需要替换代码中的your_account_sidyour_auth_token为你的阿里云账号对应的信息。

以上代码可以帮助你在ASP中使用阿里云短信接口发送短信和查询短信发送记录。

发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/110273.html

Like (0)
luotuoemo的头像luotuoemo
Previous 2023年12月13日 14:58
Next 2023年12月13日 15:11

相关推荐

  • 阿里云加密服务

    阿里云加密服务是一种提供数据加密和密钥管理的云服务。阿里云加密服务可以帮助用户保护数据的安全性和完整性,提供端到端的加密保护。其主要功能包括数据加密、密钥管理和访问控制等。 通过阿里云加密服务,用户可以将敏感数据进行加密存储,以保护数据在存储和传输过程中的安全。用户可以自主选择加密算法和密钥管理方案,确保数据的机密性和完整性。 阿里云加密服务提供了一系列的密…

    2023年8月8日
    10700
  • 象山阿里云企业邮箱代理商:企业阿里云邮箱申请流程步骤

    阿里云企业邮箱申请流程 作为象山阿里云企业邮箱代理商,我们为您提供专业的企业邮箱申请服务。以下是申请企业阿里云邮箱的流程步骤: 联系我们的代理商团队,提交申请表格并提供相关资料。 我们将根据您提供的资料,帮助您选择适合的企业邮箱套餐,并确认订单。 您将收到阿里云企业邮箱的账号和登录信息。 根据指引,您可以开始设置您的企业邮箱,包括添加邮箱账号、设置邮箱域名等…

    2024年2月20日
    7600
  • 代码如何部署到阿里云服务器里

    如何将源代码部署到阿里云centos服务器上 小鸟云服务器niaoyun实例创建好之后,您可以使用以下任意一种方式登录服务器:远程桌面连接 (Microsoft Terminal Services Client, MSTSC): 采用这种方式登录,请确保实例能访问公网。如果在创建实例时没有购买带宽,则不能使用远程桌面连接。管理终端 VNC:无论您在创建实例时…

    2023年8月28日
    9000
  • 保定阿里云企业邮箱代理商:阿里云怎么看服务器用户名和密码

    保定阿里云企业邮箱代理商:阿里云怎么看服务器用户名和密码 在使用阿里云企业邮箱时,有时候我们会需要查看服务器用户名和密码,下面就为大家介绍一下具体的操作方法: 步骤一:登录阿里云企业邮箱后台 首先,打开浏览器,在地址栏输入邮箱的后台管理地址,然后输入用户名和密码登录进入管理后台。 步骤二:进入域名管理页面 在管理后台界面中,找到“域名管理”选项,点击进入域名…

    2024年2月22日
    8900
  • 沈阳阿里云代理商:阿里云windows系统第一次如何登入

    阿里云Windows系统第一次登入通常需要进行以下步骤: 购买并创建好你的阿里云Windows云服务器(ECS)后,你需要在阿里云控制台获取到你的云服务器公网IP地址和管理员密码。 在你的电脑上打开远程桌面连接,这个程序在Windows系统上默认就有,可以在开始菜单搜索到。打开后,在“计算机”栏中输入你的云服务器公网IP,然后点击“连接”。 在弹出的窗口中,…

    2024年3月14日
    5700

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
购买阿里云服务器请访问:https://www.4526.cn/