Я использую Visual Basic 6 для старой видеоигры и реализую API, написанный на Node.js. (http://www.argentumonline.org)
В любом случае, это моя функция
Public Sub ApiEndpointSendResetPasswordAccountEmail(ByVal Email As String, ByVal NewPassword As String)
'Este endpoint envia un email para cambiar password al usuario
UrlServer = GetVar(IniPath & "Server.ini", "CONEXIONAPI", "UrlServer") & "/api/v1/emails/resetAccountPassword"
Dim Parameters As String
Parameters = "newPassword=" & NewPassword & "&emailTo=" & Email
Call SendPOSTRequest(UrlServer, Parameters)
End Sub
Private Sub SendPOSTRequest(ByVal Endpoint As String, ByVal Parameters As String)
On Error GoTo ErrorHandler
Set XmlHttp = CreateObject("Microsoft.XmlHttp")
XmlHttp.Open "POST", Endpoint, False
XmlHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
'Por alguna razon tengo que castearlo a string, sino no funciona, la verdad no tengo idea por que ya que la variable es String
XmlHttp.send CStr(Parameters)
ErrorHandler:
If Err.Number <> 0 Then
Call LogError("Error POST endpoint: " & Endpoint & ". La Api parece estar offline. " & Err.Number & " - " & Err.description)
End If
End Sub
Код работает нормально, но в этой строке:
XmlHttp.send CStr(Parameters)
Если я не приведу Parameters
к строке, приложение не будет работать, и XmlHttp
выдает ошибку, которая говорит что-то вроде The Resource can not be found
. Параметры - это уже строка.
Есть идеи?