如何在vbs脚本中将API URI作为变量传递?

时间:2019-07-10 21:53:51

标签: vbscript

我有用于运行Put请求的Vb脚本。我有网址。该网址已保存在excel中,我将该网址另存为变量,并将该网址传递给put命令。

示例vURL:https://example.com/api/

我已经尝试了不同的参数和引号,但是它不起作用。

Dim args, vURL
Set args = WScript.Arguments

'vURL = WScript.Arguments.Item(0)
'MSXML2.ServerXMLHTTP
'WinHttp.WinHttpRequest.5.1
'MSXML2.ServerXMLHTTP60

vURL = args(0)
MsgBox vURL
Dim http: Set http = CreateObject("WinHttp.WinHttpRequest.5.1")
Dim url: url = vURL

With http
  Call .Open("PUT", url, False)
  Call .SetRequestHeader("Accept", "application/json")
  Call .SetRequestHeader("XAPI-KEY", "")
  Call .Send("")
End With

If Left(http.Status, 1) = 2 Then

  response = http.responseText
  MsgBox response
Else

  response = http.responseText
  MsgBox response
End If

如果我将vURL放在不加引号的位置。响应是空的,但应该有某种响应。

如果我将vURL放在引号中,则会返回未授权协议的答复。

当我对URL进行硬编码时,代码工作正常。

1 个答案:

答案 0 :(得分:-1)

感谢@omegastripes提供帮助。通过比较硬编码URL和vURL的长度,我能够解决此问题。长度不匹配。