如何在VBscript中进行POST和GET?

时间:2018-10-11 23:36:06

标签: chilkat

我是VBscript的新手,正在寻求一些帮助,以便对API进行POST,并将包含ID,密码和作用域的JSON字符串传递给它,然后获取答案并进行解析。这是我需要拨打的电话:

  

POST https://integrations.ezyvet.com/call/getAccessToken {“ partner_id”:“ id8888”,“ client_id”:“ id12345”,“ client_secret”:“ secret12345”,“ grant_type”:“ client_credentials”,“ scope”:“读取诊断结果” ,读取诊断结果,读取诊断请求,写入诊断结果,写入诊断结果”}

这是我的代码:

Dim fso, outFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set outFile = fso.CreateTextFile("c:\temp\JSONoutput.txt", True)
set json = CreateObject("Chilkat_9_5_0.JsonObject")
jsonStr = "{""partner_id"": ""id8888"", ""client_id"": ""id12345"", ""client_secret"": ""secret12345"", ""grant_type"": ""client_credentials"", ""scope"": ""read-diagnosticresult,read-diagnosticresultitem, read-diagnosticrequest,write-diagnosticresult,write-diagnosticresultitem""}"

success = json.Load(jsonStr)

If (success <> 1) Then
    outFile.WriteLine(json.LastErrorText)
    WScript.Quit
End If
set http = CreateObject("Chilkat_9_5_0.Http")

我需要在这里进行POST并获得答复,但不确定如何做。请帮忙。

谢谢。

1 个答案:

答案 0 :(得分:1)

嗨,欢迎堆栈溢出! 您已在问题中标记了chilkat,但是您尚未在身体的任何部位或标题中解决它,所以我不确定是否要回答这个问题,因此我将尝试同时解决这两个问题。

没有chilkat

您可以使用ajax在纯vbs中执行此操作,简单的答案是

Dim request
Set request = CreateObject("MSXML2.XMLHTTP")
request.open "GET", "http://www.example.com", False '(1)
request.send infoToSend '(2)
'(3)
  1. 您在此处设置了“ POST”或“ GET”
  2. infoToSend包含信息数据,格式为“ key = value&key2 ...”
  3. request.responseText此处包含服务器答案作为文本,如果需要,可将其解析为json 您可以找到信息here

与chilkat

如果您仍然想使用chilkat,则http对象的主要文档是here,这是您需要的一切。如果您需要一个示例,在这里我发现了两个: 发出请求:https://www.example-code.com/vbscript/http_xmlHttpRequestVerbs.asp 发送json:https://www.example-code.com/vbscript/http_put_json.asp

我不会在这里粘贴它,因为它太长了,但是您感兴趣的核心部分是:

set request = CreateObject("Chilkat_9_5_0.HttpRequest") '(1)
request.HttpVerb = "PUT" '(2)
success = request.LoadBodyFromString(xmlStr,"utf-8") '(3)
Set response = http.SynchronousRequest(endpointDomain,endpointPort,endpointSsl,request)' (4)
  1. 您必须创建一个httpRequest
  2. 您在此处设置的是获取还是发布 3.您将内容加载到此处,它是您的json或将要发送但正确格式化的内容
  3. 您在其中包含响应的HttpResponse对象及其结果

HttpResponseHttpRequest上的文档