' ==================================== VB.Net(Unicode) code sample ========================================== ' We use the HttpUtility class from the System.Web namespace ' ' If you see of the error "'HttpUtility' is not declared", you are probably ' using a newer version of Visual Studio. You need to navigate to ' Project | Properties | Compile | Advanced Compiler Settings, ' and select e.g. ".NET Framework 4" instead of ".NET Framework 4 Client Profile". ' ' Next, visit Project | Add reference, and select "System.Web" (specifically ' System.Web - not System.Web.). Imports System.Web Imports System.IO Imports System.Net Imports System.Text Public Class Application Public Shared Sub Main() Dim request As HttpWebRequest Dim response As HttpWebResponse = Nothing Dim reader As StreamReader Dim address As Uri Dim username As String Dim password As String Dim message As String Dim msisdn As String Dim data As New StringBuilder Dim byteData() As Byte Dim postStream As Stream = Nothing ' If your firewall blocks access to port 5567, you can fall back to port 80: ' address = New Uri("http://textnigeria.vsms.net/eapi/submission/send_sms/2/2.0?") ' (See FAQ for more details.) address = New Uri("http://textnigeria.vsms.net:5567/eapi/submission/send_sms/2/2.0?") ' Create the web request request = DirectCast(WebRequest.Create(address), HttpWebRequest) ' Set type to POST request.Method = "POST" request.ContentType = "application/x-www-form-urlencoded" ' Create the data we want to send data.Append("username=" + HttpUtility.UrlEncode("myusername", System.Text.Encoding.GetEncoding("ISO-8859-1"))) data.Append("&password=" + HttpUtility.UrlEncode("mypassword", System.Text.Encoding.GetEncoding("ISO-8859-1"))) data.Append("&message=" + stringToHex("This is a test: ☺" & Chr(10) & "Arabic: شصض" & Chr(10) & "Chinese: 本网")) data.Append("&msisdn=44123123123") data.Append("&want_report=1") data.Append("&dca=16bit") ' Create a byte array of the data we want to send byteData = System.Text.Encoding.GetEncoding("ISO-8859-1").GetBytes(data.ToString()) ' Set the content length in the request headers request.ContentLength = byteData.Length ' Write data Try postStream = request.GetRequestStream() postStream.Write(byteData, 0, byteData.Length) Catch ex As Exception Console.WriteLine(ex.toString()) Finally If Not postStream Is Nothing Then postStream.Close() End Try Try ' Get response response = DirectCast(request.GetResponse(), HttpWebResponse) ' Get the response stream into a reader reader = New StreamReader(response.GetResponseStream()) ' Console application output Console.WriteLine(reader.ReadToEnd()) Catch ex As Exception Console.WriteLine(ex.toString()) Finally If Not response Is Nothing Then response.Close() End Try End Sub Public Shared Function stringToHex(s As String) as String Dim ascii_number As String Dim hex_str As String Dim sResult As String Dim nCnt As Integer For nCnt = 1 To Len(s) ascii_number = AscW(Mid(s, nCnt, 1)) hex_str = Hex(ascii_number) If Len(hex_str) = 1 Then sResult = sResult & ("000" & hex_str) Else If Len(hex_str) = 2 Then sResult = sResult & ("00" & hex_str) Else If Len(hex_str) = 3 Then sResult = sResult & ("0" & hex_str) Else sResult = sResult & hex_str End If Next stringToHex = sResult End Function End Class