2009-07-27 3 views
2

Ich muss ein Stück Middleware, die ich in C# schreibe mit Adobe Connect verbinden. Ihre API gibt alle Daten zurück, die als XML-Dokument abgefragt wurden. Das Problem, das ich habe, ist das: Ich muss eine Antwort überprüfen, um zu sehen, ob der Login-Versuch erfolgreich ist, und wenn es ist, muss ich das Cookie von den HTTP-Headern abrufen, damit ich diesen Cookie verwenden kann, um die verschiedenen Aktionen auszuführen die Anwendung erfordert. Wie würde ich darüber gehen?Abrufen von XML-Dokument und Parsing eines HTTP-Headers zur gleichen Zeit (C#)

Dies ist, was ein erfolgreicher Anmeldeversuch wie auf der XML-Seite der Dinge aussieht:

<results> 
    <status code="ok"/> 
</results> 

geschätzt Jede Hilfe wäre.

Antwort

3

Verwenden Sie eine HttpWebRequest und eine HttpWebResponse (oder nur WebRequest/WebResponse, wenn sie Ihnen genug Funktionalität geben). Wenn Sie die Antwort erhalten haben, können Sie die Header abfragen und dann den Inhalt als Stream abrufen. Sie können den Stream in XML mit einer der normalen XML-APIs analysieren.

Hier ist ein Beispiel, eine Seite zu holen und beide einen Header und den ersten Teil des Inhalts angezeigt wird:

using System; 
using System.IO; 
using System.Net; 

class Test 
{ 
    static void Main() 
    { 
     WebRequest request = WebRequest.Create("http://csharpindepth.com"); 
     using (WebResponse response = request.GetResponse()) 
     { 
      Console.WriteLine(response.Headers["Content-Type"]); 
      using (StreamReader reader = new StreamReader 
         (response.GetResponseStream())) 
      { 
       string content = reader.ReadToEnd(); 
       Console.WriteLine(content.Substring(0, 120)); 
      } 
     } 
    } 
} 
+0

Das awesomely gearbeitet. Danke für die Hilfe, Sir! – Xir

Verwandte Themen