通过 Microsoft.XmlHttp 发送应用程序消息在 Windows 7 for vb6 上不起作用

问题描述 投票:0回答:2

我正在尝试使用 vb6 发送 WhatsApp 消息,它在 Windows 10 上运行良好,但在 Windows 7 上调用 myMSXML.send strFormData 时出现错误,并且错误为空白。我不明白为什么它会出错。

我已经给出了下面的代码

    Private Function PrepareAndSendMsg(Partyname As String, Number As String, Optional Message As String = "", Optional Document As String = "") As Boolean
On Error GoTo X
'Whats app Variables --------------------------
Dim apikey As String
Dim ApiToken As String
Dim strFormData As String
Dim strUrl As String
Dim filepathname As String
Dim myMSXML As Object
'----------------------------------------------

strUrl = Trim(GetDescription("SELECT ISNULL(URL,'') FROM WHATSAPPDATA"))
apikey = Trim(GetDescription("SELECT ISNULL(API,'') FROM WHATSAPPDATA"))
ApiToken = Trim(GetDescription("SELECT ISNULL(TOKEN,'') FROM WHATSAPPDATA"))
'filepathname = Trim(GetDescription("SELECT ISNULL(FILEPATH,'') FROM WHATSAPPDATA")) 'no need generated evrytime

If dataValidate(strUrl, apikey, ApiToken, filepathname, Partyname, Number) = False Then: PrepareAndSendMsg = False: Call writeLog("DATA VALIDATION : User Data Validation Falied", "Y"): Image1.Picture = LoadPicture(App.Path & "\images\Error.ico"): Exit Function
writeLog ("DATA VALIDATION : User Data Validation Successfull")
If Message <> "" Then
    writeLog ("TYPE : Sending User ""MESSAGE""")
    strFormData = "key=" & apikey & "&token=" & ApiToken & "&number=" & Number & "&message=" & Message & "&type=text"
ElseIf Document <> "" Then
    writeLog ("TYPE : Sending User ""DOCUMENT""")
    strFormData = "key=" & apikey & "&token=" & ApiToken & "&number=" & Number & "&filepath=" & Document & "&type=file"
Else
    Call writeLog("Attchment or Message Not Found", "Y")
    LbPartyName.Caption = "Message/Attachment Not Found"
    PrepareAndSendMsg = False
    Exit Function
End If
writeLog ("KEY : " & apikey)
writeLog ("TOKEN : " & ApiToken)
writeLog ("API : " & strFormData)
Set myMSXML = CreateObject("Microsoft.XmlHttp")
myMSXML.open "POST", "" & strUrl & "", False
myMSXML.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
myMSXML.setRequestHeader "User-Agent", "Firefox 3.6.4"
myMSXML.send strFormData
TxtRepsonse.Text = myMSXML.responseText
'Print Log and Close Here --------------
writeLog ("RESPONSE : " & TxtRepsonse.Text)
Call writeLog("", "Y")
'---------------------------------------
Timer11.Enabled = True
Exit Function
X:
    writeLog ("ERROR : Preparin And Sending Message ->" & Err.Description)
    PrepareAndSendMsg = False
    MsgBox Err.Description, vbCritical, "Warning"
End Function

正如我提到的,错误是空白的,同样在 Windows 10 上运行良好。提到 Api 提供程序必须强制使用 POST 方法,不能使用 GET。

vb6
2个回答
0
投票

试试这个

设置 myMSXML = CreateObject("MSXML2.ServerXMLHTTP")。


0
投票

嗨,我今天读了这篇文章,所以我也在开发这个程序,所以你可以发送这段代码的 dll 文件吗?谢谢你

© www.soinside.com 2019 - 2024. All rights reserved.