Может кто-нибудь объяснить ошибки при отправке смс через smsgateway.me api? - PullRequest
0 голосов
/ 27 апреля 2020

Я пытаюсь отправить запрос через VB. net.

Вот мой код:

Imports System.IO
Imports System.Net
Imports System.Text

Public Class TestSMS
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
     Try
            Dim webAddr As String = "https://smsgateway.me/api/v4/message/send"
            Dim httpWebRequest = CType(WebRequest.Create(webAddr), HttpWebRequest)
            httpWebRequest.ContentType = "application/json"
            httpWebRequest.Method = "POST"
            Dim header As WebHeaderCollection = New WebHeaderCollection()
            header.Add("Authorization", "** Key Hidden for security **")
            httpWebRequest.Headers = header
            Using streamWriter = New StreamWriter(httpWebRequest.GetRequestStream())
                Dim json As String = "{'phone_number':'123456789','message':'Hello World','device_id':116}"
                streamWriter.Write(json)
                streamWriter.Flush()
            End Using
            Dim httpResponse = CType(httpWebRequest.GetResponse(), HttpWebResponse)
            Using streamReader = New StreamReader(httpResponse.GetResponseStream())
                Dim responseText = streamReader.ReadToEnd()
                MsgBox(responseText)
            End Using
        Catch ex As WebException
            MsgBox(ex.Message)
        End Try
    End Sub
End Class

Я получил

400 Ошибка неверного запроса.

Вот пример код https://smsgateway.me/sms-api-documentation/messages/sending-a-sms-message

но он находится в PHP.

1 Ответ

0 голосов
/ 30 апреля 2020

Вот решение

Imports System.IO
Imports System.Net
Imports System.Text
Imports Newtonsoft.Json


Public Class TestSMS
    Public Class Messageparam
        Public Property phone_number As String
        Public Property message As String
        Public Property device_id As Integer
    End Class
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim messageParam As New Messageparam
        messageParam.phone_number = "123456789"
        messageParam.message = "Hello World!"
        messageParam.device_id = 116
        Dim webAddr As String = "https://smsgateway.me/api/v4/message/send"
        Dim httpWebRequest = CType(WebRequest.Create(webAddr), HttpWebRequest)
        httpWebRequest.ContentType = "application/json"
        httpWebRequest.Method = "POST"
        Dim header As WebHeaderCollection = New WebHeaderCollection()
        header.Add("Authorization", "Hidden API Key")
        httpWebRequest.Headers = header
        Using streamWriter = New StreamWriter(httpWebRequest.GetRequestStream())
            Dim json As String = "[" & JsonConvert.SerializeObject(messageParam) & "]"
            streamWriter.Write(json)
            streamWriter.Flush()
        End Using
        Dim httpResponse = CType(httpWebRequest.GetResponse(), HttpWebResponse)
        Using streamReader = New StreamReader(httpResponse.GetResponseStream())
            Dim responseText = streamReader.ReadToEnd()
        End Using
    End Sub
End Class
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...