|
Advanced Services - SMS Connectivity VB for ASP.NET Sample application using HTTP to send a UCS2 or Unicode message |
![]() |
The following sample application written in VB for ASP.NET sends a UCS2 or Unicode message to a single mobile telephone. The application uses HTTP to communicate with HSL's systems. To send to more than one mobile telephone at a time, separate each mobile number in the destaddr field by a comma (e.g. "447968000111,447720000111,3378100100").
<%@ Import Namespace="System.Text" %>
<%@ Import Namespace="System.Security.Cryptography" %>
<%@ Import Namespace="System.Net" %>
<%@ Import Namespace="System.IO" %>
<%@ Page Language="VB" %>
<html>
<head>
<title>
Simple Visual Basic .NET example of UCS2 via the HSL HTTP interface
</title>
</head>
<body>
<%
' These variables fill out the various parts described in the
' interface specification
Const host = "sms.haysystems.com"
Const port = "80"
Const action = "senducs"
Const client_id = "<your client_id>"
Const ucs2 = "06450631062d0628064b06270020063906270644064500200021"
Const destaddr = "<some fully-qualified MSISDN>"
Const secret = "<your secret>"
' Compute the MD5 hash
Dim md5 As New MD5CryptoServiceProvider()
Dim encoding As Encoding = Encoding.ASCII
Dim hashInput = secret & ucs2 & destaddr
Dim hashInputBytes As Byte() = encoding.GetBytes(hashInput.ToCharArray())
Dim rawHash() As Byte = md5.ComputeHash(hashInputBytes)
' Convert the raw bytes into a string
Dim hash = ""
Dim i As Integer
For i = 0 To rawHash.GetLength(0) - 1
Dim coded As String = Convert.ToString(rawHash(i), 16)
If coded.Length = 1 Then
coded = "0" & coded
End If
hash = hash & coded
Next
' Build and encode the URL.
Dim url = "http://" & host & ":" & port & "/" & action & "/?client_id=" _
& client_id & "&destaddr=" & destaddr & "&message=" & ucs2 & "&key=" & hash
'Create an HTTP request
Dim httpRequest As WebRequest = WebRequest.Create(url)
Dim httpResponse As WebResponse = httpRequest.GetResponse()
Dim stream As Stream = httpResponse.GetResponseStream()
Dim reader As New StreamReader(stream)
' Make the request and print the result
Response.Write("<p>Submission result: ")
Response.Write(reader.ReadToEnd())
Response.Write("</p>")
reader.Close()
%>
</body>
</html>
ucs2_http_example_vb.aspx
Copyright © Hay Systems Ltd 2004
Owner: support@haysystems.com 20 September 2004