智慧云信

使用ASP调用短信接口发送验证码短信教程

ASP对接验证码短信接口DEMO示例

圆点

使用ASP调用短信接口发送验证码短信教程(图1)

用户注册、密码找回这些功能里,短信验证码用得最多,安全性和便利性都有保障。这篇文章介绍如何用 ASP(Active Server Pages)调用短信接口,发送单条验证码短信。接口选用智慧云信的 https://api.3yit.com/api/send-sms-single,支持 POST 请求,返回 JSON 格式的结果。

接口地址与调用方式

接口地址为 https://api.3yit.com/api/send-sms-single,通过 HTTP POST 方式请求,请求头 Content-Type 指定为 application/x-www-form-urlencoded。发送请求时需传入 sp_idmobilecontent 等参数,接口返回的 JSON 对象里包含发送状态、消息 ID 等信息。

获取接口参数

登录智慧云信官网,选择对应的产品(如【验证码】),在上方选项卡中点击【开发者】→【HTTP开发文档】,就能看到具体的 API 方法名称,以及各参数的 key 和对应值,通常包括 sp_idmobilecontentpassword 等。各参数含义如下:

  • sp_id:产品编号,全局唯一,一般由 6 位数字组成。
  • mobile:接收短信的手机号码。
  • content:短信内容,包含签名和正文。例如“【智慧云信】您的验证码是456790,请妥善保管”,其中【智慧云信】是签名,需在签名报备中申请;后面的提示语是短信模板,需在模板报备中申请,审核通过后才能发送。
  • password:用 SP_ID 密码经 MD5 加密后生成的接口密码(非登录密码),由 32 位随机字符串组成。

ASP 代码实现

在 ASP 中可以用内置的 HTTP 对象 Server.CreateObject("MSXML2.XMLHTTP") 来发送请求。下面是调用该接口发送验证码短信的示例代码:

<%@ Language=VBScript %>
<%
' 智慧云信网关地址
Dim apiUrl
apiUrl = "https://api.3yit.com/api/send-sms-single"
' 假设的参数值,实际使用时需替换为真实值
Dim spId, mobile, content, signature
spId = "5xxxxx" ' 产品sp_id
mobile = "176xxxxxxxx" ' 手机号
content = "【签名】验证码123" ' 短信内容
signature = "a92569901189fxxxxxxxx957c096c432e2d47635" ' 签名(如果使用签名验证)
' password = "xxxxxxxxxxx" ' 密码(如果使用密码验证,需进行md5处理)
' 初始化HTTP对象
Dim xhr
xhr = Server.CreateObject("MSXML2.XMLHTTP")
' 设置请求头
xhr.Open("POST", apiUrl, False)
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
' 拼接POST数据
Dim postData
postData = "sp_id=" & Server.URLEncode(spId) & "&"
postData = postData & "mobile=" & Server.URLEncode(mobile) & "&"
postData = postData & "content=" & Server.URLEncode(content)
If Len(signature) > 0 Then
postData = postData & "signature=" & Server.URLEncode(signature)
Else
' 如果使用密码验证,则添加密码字段(此处省略了密码的md5处理过程)
' postData = postData & "password=" & Server.URLEncode(md5Password)
End If
' 发送POST请求
xhr.Send(postData)
' 读取并解析响应结果
Dim result
If xhr.Status = 200 Then
result = xhr.responseText
' 在这里可以进一步解析JSON结果,提取code、msg、msg_id等信息
' 例如使用JSON解析库或VBScript内置函数处理
Response.Write(result) ' 直接输出响应结果供调试
Else
Response.Write("Error sending SMS: " & xhr.StatusText)
End If
' 释放HTTP对象
xhr.Abort()
Set xhr = Nothing
%>

注意事项

  • 实际使用时,把 sp_idmobilecontent 等参数替换成自己的值。
  • 选择签名验证时,签名算法要与接口文档一致,把签名值替换到代码中对应的变量上。
  • 选择密码验证时,把密码做 MD5 加密后替换到对应变量上(示例代码中省略了 MD5 处理过程)。
  • 发送前先检查手机号和短信内容是否符合规范,避免因格式错误导致发送失败。
  • 处理响应结果时,建议解析返回的 JSON,读取 codemsgmsg_id 等字段,再做后续处理。
  • 正式环境建议加上错误处理和日志记录,方便排查问题。

其他语言教程:PHP · Java · ASP.NET(C#) · JSP · Node.js · Delphi · Go · Python · Ruby · Shell · VB · C++ · C。更多信息见短信API接入指南

代码里的 API 地址、账号和密码替换成你自己的就能跑通。如果还没有账号,去智慧云信官网注册一个,注册就能免费测试,验证码、通知、营销短信都支持。

内容可信度说明

作者:智慧云信通信技术团队

技术审核:国际短信与号码检测产品组

最后更新:2026-08-13

适用范围:国际短信、国际验证码短信、国际语音筛单、空号检测、号码实时检测等出海通信与号码检测场景。

本文结合智慧云信平台产品能力、客户接入问题和通道运营经验整理。不同国家/地区的 Sender ID、模板审核、计费方式和合规要求可能变化,实际发送前建议以当前通道审核与项目沟通结果为准。