Advanced Services - SMS Connectivity

VB for ASP.NET Sample application using HTTP to send an SMS text message

HSL Mobile Messaging

The following sample application written in VB for ASP.NET sends an SMS text 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 text 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 = "sendtxt"
Const client_id = "<your client_id>"
Const text = "this is a test message"
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 & text & 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.
' Note we are careful to URL-encode the message content as it is
' the only part of the URL likely to contain reserved characters.
Dim url = "http://" & host & ":" & port & "/" & action & "/?client_id=" _
    & client_id & "&text=" & Server.UrlEncode(text) & "&destaddr=" & destaddr _
    & "&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>

simple_http_example_vb.aspx


Copyright © Hay Systems Ltd 2004

Owner: support@haysystems.com 20 September 2004

Sample code link | Developers section link