4

我目前正在尝试使用 MSXML2.ServerXMLHTTP 发送 POST http 请求。我需要添加一个自定义标头“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 未找到请求的标头”(该消息实际上已被翻译,因为我在计算机上使用了不同的语言)。

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

感谢您的时间。

4

1 回答 1

2

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

从此改变

xhr.setRequestHeader "Auth", authToken

对此

xhr.setRequestHeader "Auth", "testdatahere"
于 2016-05-10T06:24:24.790 回答