1

XMLHTTP を使用するのはまったく初めてで、Excel VBA を使用して会社のインターネット サイトからレポートをダウンロードしようとしています。私が直面していると思われる問題は、サイトが Siteminder によって保護されていることです。GET で XMLHTTP.Open を使用する必要があると思いますが、とにかく取得したように見えるのは Siteminder HTML コードだけです。したがって、最初に投稿を使用して、次のようなユーザー名とパスワードを Siteminder に送信しようとしています。

Function PostXmlData(vUrl As String, UserName As String, Password As String, xmlText     
As String
Dim XMLHttp As Object
Set XMLHttp = CreateObject("MSXML2.XMLHTTP")
XMLHttp.Open "POST", vUrl, False, UserName, Password
XMLHttp.setRequestHeader "Content-Type", "text/xml;charset=utf-8"   

XMLHttp.send (xmlText)
PostXmlData = XMLHttp.responseText
End Function

Sub Posttest ()
Dim add As String
Dim User As String
Dim Pass As String
Dim send As String
Dim ret As Variant

add = "https://mycompanywebsite.com/apps/application/Main/"
User = "username"
Pass = "password"
Send="DashboardId=http://mycompanywebsite.com/DAVCatalog/Dashboards/Teams/Client%20_
Extranet%20AM"

ret = PostXmlData(add, User, Pass, send)
End Sub

私は正しい軌道に乗っていますか、それとも不可能ですか? 何か提案をいただければ幸いです。または、誰かが私に案内してくれるサイトがあれば、それは役に立ちます。ありがとう。

4

2 に答える 2

0

SiteMinder HTML 応答を投稿していただけますか? 認証に失敗しているようです。資格情報を XMLHttp コンポーネントに提供するのではなく、base64 でエンコードされたヘッダーとして送信してみてください。

これがフォーマットです。

認証: 基本 QWxhZGRpbjpvcGVuIHNlc2FtZQ==

「Basic」の後の文字列は、「id:password」形式の base64 でエンコードされた認証情報です。

于 2013-09-13T14:09:29.593 に答える