Excel-VBA mit XMLHTTP mit Siteminder-Gesicherte Seite
Ich bin komplett neu mit XMLHTTP und Experimentieren mit dem Versuch, einen Bericht herunterzuladen von unserer Firma ist internet-Seite mit Excel-VBA. Das problem, das ich scheinen zu sein laufen in ist, dass die Website ist geschützt durch Siteminder. Ich denke, ich muss an ein XMLHTTP.Öffnen Sie mit BEKOMMEN, aber trotzdem versuche ich das was ich gerade bekommen scheinen, ist die Siteminder-HTML-code. So versuche ich, zunächst mit einer post zu senden Sie meinen Benutzernamen und mein Passwort an Siteminder so etwas wie:
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
Bin ich auf dem richtigen Weg oder ist das gar nicht möglich? Irgendwelche Vorschläge würde sehr geschätzt werden oder, wenn es eine Website, jemand könnte mir direkt an, das wäre hilfreich. Danke.
InformationsquelleAutor user2524654 | 2013-09-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie zum laden der
responseText
in eineXMLDocument
so dass Sie analysieren können. Siehe Beispiel unten (stellen Sie sicher, fügen Sie die Microsoft-XML-Referenz auf das Referenz-Bibliothek)Von hier aus sollten Sie in der Lage sein zu Parsen von XML-Daten mithilfe von Objekten wie
NodeList
,DOMElement
usw.Vielleicht auch anderen helfen kann (und/oder mich korrigieren), aber die Seite, die Sie abrufen müssen, um XML (d.h. führende aus mit dem XML-tag <?xml version="1.0" encoding="UTF-8"?> oder sowas in der Art). Wenn es ist, dann die
responseText
geladen werden kann, und analysiert das DOMDocument-wie ich in dem Beispiel oben.Dank Jaycal - so habe ich dein Beispiel aber es scheint nichts zu laden. Ich habe versucht, sowohl eine pro code und versuchte auch einen Beitrag, aber entweder Weg, anderes lädt.
wenn Sie einen browser und melden Sie sich in Ihrer website, nicht die Seite, die Lasten zurückgeben, HTML-oder XML? (nur versuchen, herauszufinden, wenn das Problem mit dem text zurückgegeben, die von der POST/GET-oder die Seite selbst)
Es ist wieder HTML. Danke!
InformationsquelleAutor Jaycal
Konnte Sie nach dem SiteMinder-HTML-Antwort? Sieht aus wie die Authentifizierung fehlschlagen kann. Verschicken Sie die Anmeldeinformationen ein, die eine base64-codierte header-stattdessen versorgen Sie das XMLHttp-componet.
Dies ist das format.
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Den string nach 'Basic' base64 kodierten Benutzerdaten in das 'id:Kennwort" - format.
InformationsquelleAutor 0leg