2009-07-27 6 views
2

Je dois connecter un élément de middleware que j'écris en C# à Adobe Connect. Leur API renvoie toutes les données interrogées en tant que document XML. Le problème que je rencontre est le suivant: je dois vérifier une réponse pour voir si la tentative de connexion est réussie, et si c'est le cas, je dois récupérer le cookie des en-têtes HTTP pour pouvoir utiliser ce cookie pour effectuer les différentes actions l'application nécessite. Comment pourrais-je m'y prendre?Récupération d'un document XML et analyse d'un en-tête HTTP en même temps (C#)

C'est ce une tentative de connexion réussie ressemble sur le côté XML des choses:

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

Toute aide serait appréciée.

Répondre

3

Utilisez un HttpWebRequest et un HttpWebResponse (ou seulement WebRequest/WebResponse s'ils vous offrent suffisamment de fonctionnalités). Lorsque vous avez la réponse, vous pouvez interroger les en-têtes et obtenir le contenu sous forme de flux. Vous pouvez analyser le flux au format XML à l'aide de l'une des API XML normales.

Voici un exemple aller chercher une page et d'afficher à la fois un en-tête et la première partie du contenu:

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

Cela a fonctionné impressionante. Merci pour l'aide, monsieur! – Xir