自定义 header 与 MSXML2.ServerXMLHTTP
Custom header with MSXML2.ServerXMLHTTP
我目前正在尝试使用 MSXML2.ServerXMLHTTP 发送 POST http 请求。
我需要添加自定义 header "Auth" 以便我的请求获得授权,但它似乎不起作用。
这是我的 post 函数的代码:
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
最后我得到 "Error -2147012746 Requested Header was not found"(由于我在计算机上使用不同的语言,因此消息实际上已被翻译)。
但是我在 "Microsoft.XMLHTTP" Object 上没有这个问题。
我做错了什么吗?
感谢您的宝贵时间。
尝试将对 SetRequestHeader 的调用更改为使用字符串文字。当 authToken
没有设置值时,我重复了这个问题。
由此改变
xhr.setRequestHeader "Auth", authToken
对此
xhr.setRequestHeader "Auth", "testdatahere"
我目前正在尝试使用 MSXML2.ServerXMLHTTP 发送 POST http 请求。 我需要添加自定义 header "Auth" 以便我的请求获得授权,但它似乎不起作用。 这是我的 post 函数的代码:
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
最后我得到 "Error -2147012746 Requested Header was not found"(由于我在计算机上使用不同的语言,因此消息实际上已被翻译)。
但是我在 "Microsoft.XMLHTTP" Object 上没有这个问题。 我做错了什么吗?
感谢您的宝贵时间。
尝试将对 SetRequestHeader 的调用更改为使用字符串文字。当 authToken
没有设置值时,我重复了这个问题。
由此改变
xhr.setRequestHeader "Auth", authToken
对此
xhr.setRequestHeader "Auth", "testdatahere"