为了保障用户上网行为的安全性,无线wifi系统都要做手机验证功能,那么如何对接短信功能呢?
1、在无线WIFI网关配置短信接口信息
2、用户连接无线WIFI信号,系统弹出认证页面
3、用户获取验证码,收到验证码后提交到平台,认证通过后使用网络
代码示例:
Private Sub Form_Load()
Winsock1.Protocol = sckTCPProtocol
Winsock1.RemoteHost = "106.ihuyi.com"
Winsock1.RemotePort = 80
Winsock1.Connect
DoEvents
If Winsock1.State <> 7 Then Label1.Caption = "状态:服务器连接成功" & Chr(13)
Text1.Text = "用户名"短信账号获取地址:http://user.ihuyi.com/?9vXc7
Text2.Text = "密码可以使用明文密码或使用32位MD5加密"
Text3.Text = "手机号码&coding=GBK" '&coding=GBK不要删除
End Sub
Private Sub Command1_Click()
On Error Resume Next
Dim PostData As String
Dim Str As String
Dim strWebPage As String
Dim strCommand As String
PostData = "account=" + Text1.Text + "&password=" + Text2.Text + "&mobile=" + Text3.Text + "&content=" + Text4.Text
Dim Ai() As Byte
Ai = StrConv(strWebPage, vbFromUnicode)
CLength = UBound(Ai) + 1
Str = "POST /webservice/sms.php?method=Submit HTTP/1.1" + vbCrLf
Str = Str + "Accept: */*" + vbCrLf
Str = Str + "Content-Type: application/x-www-form-urlencoded" + vbCrLf
Str = Str + "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; Maxthon; .NET CLR 1.1.4322)" & vbCrLf
Str = Str + "Language: zh-CN, zh, *" + vbCrLf
Str = Str + "Connection: Keep-Alive" + vbCrLf
Str = Str + "Host: 106.ihuyi.com" + vbCrLf
Str = Str + "Accept-Language: zh-CN, zh, *" + vbCrLf
Str = Str + "Accept-Encoding: gzip, deflate" & vbCrLf
Str = Str & "Content-Length: " & Len(PostData) & vbCrLf & vbCrLf
Str = Str & PostData & vbCrLf
'MsgBox str
strWebPage = "http://106.ihuyi.com/webservice/sms.php?method=Submit&account=" + Text1.Text + "&password=" + Text2.Text + "&mobile=" + Text3.Text + "&content=" + Text4.Text
strCommand = "GET " + strWebPage + " HTTP/1.0" + vbCrLf
strCommand = strCommand + vbCrLf
If Winsock1.State <> 7 Then
Winsock1.Protocol = sckTCPProtocol
Winsock1.RemoteHost = "106.ihuyi.com"
Winsock1.RemotePort = 80
Winsock1.Connect
DoEvents
Winsock1.SendData Str
Else
Winsock1.SendData strCommand
End If
'Label1.Caption = "状态:" & strState & Chr(13) & strCommand & Chr(13)
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim rec() As Byte
Winsock1.GetData rec, vbString
'MsgBox Utf8ToUnicode(Right(rec, 150))
Label2.Visible = True
Label2.Caption = Utf8ToUnicode(rec)
Winsock1.Close
End Sub