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 に答える