vba - 带有 MSXML2.ServerXMLHTTP 的自定义 header

标签 vba excel serverxmlhttp

我目前正在尝试使用 MSXML2.ServerXMLHTTP 发送 POST http 请求。
我需要添加一个自定义 header “Auth”,以便我的请求获得授权,但它似乎不起作用。
这是我的帖子功能的代码:

Function post(path As String, authToken As String, postData As String) As String
  Dim xhr As Object
  Dim message As String
On Error GoTo error:

  Set xhr = CreateObject("MSXML2.ServerXMLHTTP")
  xhr.Open "POST", path, False
  xhr.setRequestHeader "Content-Type", "application/json"
  xhr.setRequestHeader "Auth", authToken
  xhr.send postData

  If xhr.Status = 200 Then
    message = xhr.responseText
  Else
    message = xhr.Status & ": " & xhr.statusText
  End If

  Set xhr = Nothing
  post = message
error:
  Debug.Print "Error " & Err.Number; ":" & Err.Description
End Function

最后我得到“错误 -2147012746 未找到请求的 header ”(该消息实际上已被翻译,因为我在计算机上使用了不同的语言)。

但是,“Microsoft.XMLHTTP”对象没有这个问题。
难道我做错了什么 ?

感谢您的时间。

最佳答案

尝试更改对 SetRequestHeader 的调用以使用字符串文字。我在 authToken 时重复了这个问题没有设置值。

从此改变

xhr.setRequestHeader "Auth", authToken

对此
xhr.setRequestHeader "Auth", "testdatahere"

关于vba - 带有 MSXML2.ServerXMLHTTP 的自定义 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37028710/

相关文章:

httpwebrequest - Msxml2.ServerXMLHTTP 和 WinHttp.WinHttpRequest 之间的区别?

excel - 如何重命名与文件名不同的工作表名称

excel - 突出显示内部没有特定字符(小写 a-z)的任何单元格

excel - VBA - 通过 ADODB 将 Excel 2007 电子表格连接到 Access 2007 数据库

VBA 选择案例运行时错误 13

asp-classic - 如何使用 MSXML2.ServerXMLHTTP 从另一个站点获取数据?

excel - 当自动过滤器不返回任何内容时如何进行陷阱

excel - 将工作表转换为仅包含字符串的数组

excel - 根据 Excel 单元格值选中/取消选中 Listobx 项目

excel - 如何使用 VBA 从 Excel 向服务器发送 HTTP POST 请求?