Passwortgeschützte XML einlesen

DJCueForce

Mitglied
Hallo.

Ich möchte gerne peer VB.NET eine XML Datei einlesen. Diese ist allerdings nicht lokal auf einem PC sondern auf einem Server abgespeichert. Diese Datei wird Dynamisch von einer Server anwendung erstellt. (SHOUTcast Streamserver) . DIese XML kann man alerdings nur einsehen, wenn man sich über htacess so wie ich gesehen habe in das Interface einloggt. Wie Sage ich ihm also nun dasser diese datei einlesen soll und dabei sich mit meinem Admin-Daten einloggen muss?

Greez aus Osnabrück
Cue
 
Moin,

von .NET speziell habe ich keine Ahnung, aber ich denke mal, du kannst da Header senden bei einem Request.

Das ist es, was du tun müsstest: Einen Authorization-Header senden mit den entsprechenden Zugangsdaten.
 
Moin,

vielen dank, werde mit den neuen erkenntnissen meine Google-Suche mal ausweitern, denn das auslesen were kein Problem mehr nur das einlesen an sich bzw aufrufen der datei *g*

Vielen dank

Gruss
Robin
 
Hallo,

Ich habe mich noch weiter damit befasst und nun folgendes getestet:

Code:
        Dim XMLDoc As New XmlDocument
        Dim Knoten As XmlNode
        XMLDoc.Load("http://admin:xxxxx@xxxx:9090/admin.cgi?mode=viewxml")

        Dim stream As XmlNodeList = XMLDoc.SelectNodes("/SHOUTCASTSERVER")
        For Each Knoten In stream
            Label1.Text = Knoten.InnerText("CURRENTLISTENERS")
        Next

allerdings funktioniert dies auch nicht. Ausgabe beim Debuggen:
Eine Ausnahme (erste Chance) des Typs "System.Net.WebException" ist in System.Xml.dll aufgetreten

Würde mich um eure hilfe freuen.

MFG
Robin
 
Zuletzt bearbeitet:
Was genau meinst du?

Sorry bin grade etwas schwer von begriff hehe

Gruss
Robin

Edit: Meinst du das?

System.Xml.XmlException wurde nicht behandelt.
LineNumber=1
LinePosition=1
Message="Ungültige Daten auf Stammebene. Zeile 1, Position 1."
Source="System.Xml"
SourceUri=""
StackTrace:
bei System.Xml.XmlTextReaderImpl.Throw(Exception e)
bei System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
bei System.Xml.XmlTextReaderImpl.ParseRootLevelWhitespace()
bei System.Xml.XmlTextReaderImpl.ParseDocumentContent()
bei System.Xml.XmlTextReaderImpl.Read()
bei System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace)
bei System.Xml.XmlDocument.Load(XmlReader reader)
bei System.Xml.XmlDocument.LoadXml(String xml)
bei Modi_ToolZ.streamstatus.Label1_Click(Object sender, EventArgs e) in C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Visual Studio 2008\Projects\Modi ToolZ\Modi ToolZ\streamstatus.vb:Zeile 10.
bei System.Windows.Forms.Control.OnClick(EventArgs e)
bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
bei System.Windows.Forms.Control.WndProc(Message& m)
bei System.Windows.Forms.Label.WndProc(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
bei System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
bei System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
bei System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
bei System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
bei System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
bei System.Windows.Forms.Application.Run(ApplicationContext context)
bei Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
bei Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
bei Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
bei Modi_ToolZ.My.MyApplication.Main(String[] Args) in 17d14f5c-a337-4978-8281-53493378c1071.vb:Zeile 81.
bei System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
bei System.AppDomain.nExecuteAssembly(Assembly assembly, String[] args)
bei System.Runtime.Hosting.ManifestRunner.Run(Boolean checkAptModel)
bei System.Runtime.Hosting.ManifestRunner.ExecuteAsAssembly()
bei System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext, String[] activationCustomData)
bei System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext)
bei System.Activator.CreateInstance(ActivationContext activationContext)
bei Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssemblyDebugInZone()
bei System.Threading.ThreadHelper.ThreadStart_Context(Object state)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
bei System.Threading.ThreadHelper.ThreadStart()
InnerException:
 
Jup, fast. Message allein hätte gereicht, aber die ganzen Infos schaden ja nicht. :)

Mh, scheinbar ist das zurück gelieferte XML nicht gültig?

Code:
Dim wc As New WebClient()
wc.Credentials = New NetworkCredential("admin", "xxxxx")
Dim xml As String = wc.DownloadString("http://xxxx:9090/admin.cgi?mode=viewxml")
wc.Dispose()

Dim XMLDoc As New XmlDocument()
XMLDoc.LoadXml(xml)

Probiers mal auf diese Art und Weise, anstatt das XmlDocument direkt mit der Url zu befüllen. So kannst
du problemlos nachsehen, ob wirklich das gewünschte Xml zurückgeliefert wurde. (Indem du den String
xml ausgibst)

Für den WebClient musst du den System.Net Namespace importieren.

lg,..
 
Hallo,

Vielen dank schonmal für deine Hilfe.
Nun bekomme ich folgenden fehler:

System.Net.WebException wurde nicht behandelt.
Message="Der Server hat eine Protokollverletzung ausgeführt.. Section=ResponseStatusLine"
Source="System"
StackTrace:
bei System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)
bei System.Net.WebClient.DownloadString(Uri address)
bei System.Net.WebClient.DownloadString(String address)
bei Modi_ToolZ.streamstatus.Label1_Click(Object sender, EventArgs e) in C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Visual Studio 2008\Projects\Modi ToolZ\Modi ToolZ\streamstatus.vb:Zeile 12.
bei System.Windows.Forms.Control.OnClick(EventArgs e)
bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
bei System.Windows.Forms.Control.WndProc(Message& m)
bei System.Windows.Forms.Label.WndProc(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
bei System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
bei System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
bei System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
bei System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
bei System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
bei System.Windows.Forms.Application.Run(ApplicationContext context)
bei Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
bei Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
bei Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
bei Modi_ToolZ.My.MyApplication.Main(String[] Args) in 17d14f5c-a337-4978-8281-53493378c1071.vb:Zeile 81.
bei System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
bei System.AppDomain.nExecuteAssembly(Assembly assembly, String[] args)
bei System.Runtime.Hosting.ManifestRunner.Run(Boolean checkAptModel)
bei System.Runtime.Hosting.ManifestRunner.ExecuteAsAssembly()
bei System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext, String[] activationCustomData)
bei System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext)
bei System.Activator.CreateInstance(ActivationContext activationContext)
bei Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssemblyDebugInZone()
bei System.Threading.ThreadHelper.ThreadStart_Context(Object state)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
bei System.Threading.ThreadHelper.ThreadStart()
InnerException:


Mein aktueller Source code:

Code:
        Dim wc As New WebClient()
        wc.Credentials = New NetworkCredential("admin", "xxxxxx")
        Dim xml As String = wc.DownloadString("http://xxxxxxxx:9090/admin.cgi?mode=viewxml")
        wc.Dispose()

        Dim XMLDoc As New XmlDocument()
        XMLDoc.LoadXml(xml)
        Dim Knoten As XmlNode
        Dim stream As XmlNodeList = XMLDoc.SelectNodes("/SHOUTCASTSERVER")
        For Each Knoten In stream
            Label1.Text = Knoten.InnerText("CURRENTLISTENERS")
        Next
 
Zurück