Advanced Services - SMS Connectivity

VB for ASP.NET Sample application using HTTP to send a UCS2 or Unicode message

HSL Mobile Messaging

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 2009

Owner: support@haysystems.com 20 September 2004

Sample code link | Developers section link