ServerXMLHTTP を使用して HTTP POST を実行しています。返される応答はリダイレクトです (具体的には 303 See Other)。ServerXMLHTTP は自動的にこのリダイレクトに従いますが、元の要求の Authorization ヘッダーが伝播されないため、認証エラーが発生します。
自動リダイレクトを防止する方法はありますか (または、Authorization ヘッダーが再送信されるようにする方法はありますか)?
ServerXMLHTTP を使用して HTTP POST を実行しています。返される応答はリダイレクトです (具体的には 303 See Other)。ServerXMLHTTP は自動的にこのリダイレクトに従いますが、元の要求の Authorization ヘッダーが伝播されないため、認証エラーが発生します。
自動リダイレクトを防止する方法はありますか (または、Authorization ヘッダーが再送信されるようにする方法はありますか)?
ServerXMLHTTP は、リダイレクトのインターセプトをサポートしていません(マイクロソフト サポート技術情報 308607を参照してください)。ただし、代わりにWinHTTPを使用できます。これには、構成可能な「リダイレクトを有効にする」オプションが含まれています。
VBA で WinHTTP リダイレクトを無効にする方法:
webClient.Option(6) = False
文脈では:
Set webClient = CreateObject("WinHttp.WinHttpRequest.5.1")
webClient.Option(6) = False
webClient.Open "POST", "http://example.com", False
webClient.send ("")