Function URLEncode(ByVal Text As String) As String Dim i As Integer Dim acode As Integer Dim chr As String Dim hexValue As String Dim finalString As String finalString = "" For i = 1 To Len(Text) Step 1 acode = Asc(Mid$(Text, i, 1)) Select Case acode Case 48 To 57, 65 To 90, 97 To 122 ' don't touch alphanumeric chars finalString = finalString & Mid$(Text, i, 1) Case 32 ' replace space with "+" 'Mid$(Text, i, 1) = "+" finalString = finalString & "+" Case Else hexValue = Hex$(acode) Select Case Len(hexValue) Case 1 hexValue = "0" & hexValue Case 2 'ok Case Else 'carattere non valido 'skip hexValue = "" End Select ' replace punctuation chars with "%hex" finalString = finalString & "%" & hexValue End Select Next Return finalString End Function Function SendSMS(username As String, password As String, recipients() As String, Text As String, Optional charset As String = "") As String Dim sender_error, url, method, parameters, msg As String Dim xmlhttp As Object xmlhttp = CreateObject("WinHttp.WinHttpRequest.5.1") url = "https://www.smskdev.it/send.php" parameters = "username=" & URLEncode(username) & "&" _ & "password=" & URLEncode(password) & "&" _ & "text=" & URLEncode(Text) & "&" _ & "to=" & Join(recipients, "&recipients[]=") Select Case charset Case "UTF-8" parameters = parameters & "&charset=UTF-8" Case Else End Select xmlhttp.open("POST", url, False) xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded") xmlhttp.setRequestHeader("Content-Length", Len(parameters)) xmlhttp.Send(parameters) If xmlhttp.Status >= 400 And xmlhttp.Status <= 599 Then SendSMS = "status=failed&message=" & xmlhttp.Status & " - " & xmlhttp.statusText Exit Function End If msg = xmlhttp.responseText xmlhttp = Nothing SendSMS = msg End Function Function GetCredit(username As String, password As String, Optional charset As String = "") As String Dim url, method, parameters, msg As String Dim xmlhttp As Object xmlhttp = CreateObject("WinHttp.WinHttpRequest.5.1") url = "https://www.smskdev.it/credit.php" parameters = "username=" & URLEncode(username) & "&" _ & "password=" & URLEncode(password) xmlhttp.open("POST", url, False) xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded") xmlhttp.setRequestHeader("Content-Length", Len(parameters)) xmlhttp.Send(parameters) If xmlhttp.Status >= 400 And xmlhttp.Status <= 599 Then GetCredit = "status=failed&message=" & xmlhttp.Status & " - " & xmlhttp.statusText Exit Function End If msg = xmlhttp.responseText xmlhttp = Nothing GetCredit = msg End Function Private Sub Form_Load() Dim recipients(0) As String Dim i As Integer ' Invio singolo recipients(0) = "39XXXXXXXXX" ' Per invio multiplo ' recipients(0) = "39XXXXXXXXX1" ' recipients(1) = "39XXXXXXXXX2" ' ------------ Invio SMS -------------- Dim result As String result = SendSMS("username","password",recipients,"TESTO DEL MESSAGGIO","") ' ------------ LETTURA DEL CREDITO UTENTE ------------- ' result = GetCredit("username", "password") Dim responses As String() responses = Split(result, "&") Dim Response As String = "" For Each Item In responses Response = Response & Item & vbCrLf Next MsgBox(Response, vbOKOnly + vbInformation, "Result") End Sub