智慧云信

使用VB语言调用短信接口发送验证码短信教程

VB语言对接验证码短信接口DEMO示例

圆点

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

开发过程中,注册、登录这类操作经常要发验证码短信。这篇文章讲怎么用 VB(Visual Basic)调用短信接口,把验证码短信发出去。接口选用 https://api.3yit.com/api/send-sms-single,通过 POST 请求携带参数,从返回结果里拿到发送状态。

准备工作

开始之前,先确认已经拿到短信服务商的接口文档,弄明白 sp_idpassword(或签名算法)等关键信息,同时确认开发环境支持 VB。

获取接口参数

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

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

编写 VB 代码

下面是用 VB 调用短信接口发送验证码短信的示例代码:

' 引入必要的命名空间
Imports System
Imports System.IO
Imports System.Net
Imports System.Text
Imports System.Web.script.Serialization
Module Module1
Sub Main()
' 接口配置信息
Dim apiUrl As String = "https://api.3yit.com/api/send-sms-single"
Dim spId As String = "5xxxxx" ' 从接口文档中获取
Dim password As String = "xxxxxxxxxxx" ' 32位md5处理后的密码,从接口文档中获取
' 待发送的手机号和短信内容(假设验证码为123456)
Dim mobile As String = "176xxxxxxxx"
Dim content As String = "【签名】验证码:123456"
' 构建请求参数
Dim postData As New StringBuilder()
postData.Append("sp_id=").Append(spId).Append("&")
postData.Append("mobile=").Append(mobile).Append("&")
postData.Append("content=").Append(content).Append("&")
' 如果使用密码方式,则添加password参数
postData.Append("password=").Append(password)
' 发送POST请求
Dim request As HttpWebRequest = WebRequest.Create(apiUrl) As HttpWebRequest
request.Method = "POST"
request.ContentType = "application/x-www-form-urlencoded"
Using writer As StreamWriter = New StreamWriter(request.GetRequestStream())
writer.Write(postData.ToString())
End Using
' 获取响应
Dim response As HttpWebResponse = request.GetResponse() As HttpWebResponse
Dim responseStream As Stream = response.GetResponseStream()
Dim reader As New StreamReader(responseStream)
' 读取响应内容并转换为JSON对象
Dim responseString As String = reader.ReadToEnd()
Dim serializer As New JavaScriptSerializer()
Dim responseObject As Object = serializer.DeserializeObject(responseString)
' 提取返回结果中的关键信息
Dim code As Integer = Convert.ToInt32(responseObject("code"))
Dim msg As String = responseObject("msg")
Dim msgId As String = responseObject("msg_id")
' 输出结果
Console.WriteLine("发送结果:")
Console.WriteLine("code: " & code)
Console.WriteLine("msg: " & msg)
Console.WriteLine("msg_id: " & msgId)
' 判断发送是否成功
If code = 0 Then
Console.WriteLine("验证码发送成功,msg_id: " & msgId)
Else
Console.WriteLine("发送失败:" & msg)
End If
' 关闭响应流和响应对象
responseStream.Close()
response.Close()
End Sub
End Module

代码说明

  • 引入命名空间:开头引入网络请求和 JSON 序列化相关的命名空间。
  • 接口配置信息:代码里定义了接口地址、sp_idpassword,使用时替换成自己的值。
  • 构建请求参数:用 StringBuildersp_idmobilecontentpassword 拼成查询字符串。
  • 发送 POST 请求:用 HttpWebRequest 发送,设置请求方法和请求头,再用 StreamWriter 把参数写入请求流。
  • 获取响应:通过 HttpWebResponse 拿到响应流,用 StreamReader 读取响应内容并转成 JSON 对象,提取 codemsgmsg_id 字段。

到这里,用 VB 调短信接口发验证码的流程就走通了,实际项目里按自己的界面和业务需求调整即可。

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

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

内容可信度说明

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

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

最后更新:2026-08-13

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

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