2009-06-22 11 views
2

J'essaie de me connecter à un site Web HTTPS, puis de naviguer pour télécharger un rapport en utilisant C# (c'est un rapport xml)?Poste HTTPS C#?

J'ai réussi à me connecter via les cookies/en-têtes etc - mais chaque fois que je navigue sur le lien une fois connecté, ma connexion me conduit à la page "déconnecté"?

Quelqu'un sait ce que cela causerait?

+0

pouvez-vous poster des extraits de code afin que nous puissions voir comment vous essayez de le faire maintenant? –

+0

Lorsque vous vous connectez, vous transmettez le cookie renvoyé par le serveur dans vos requêtes suivantes? – RobV

Répondre

2

Il peut y avoir plusieurs raisons. Avez-vous passé le cookie à la demande de téléchargement? Avez-vous passé une URL de provenance?

La meilleure façon de vérifier est d'enregistrer une requête HTTP fonctionnant avec Wireshark ou n'importe quel nombre d'extensions Firefox ou Fiddler.

ensuite essayer de recréer la demande en C#

5

Assurez-vous que le CookieContainer que vous utilisez pour votre connexion est le même que celui que vous utilisez lors du téléchargement du rapport réel.

var cookies = new CookieContainer(); 
var wr1 = (HttpWebRequest) HttpWebRequest.Create(url1); 
wr1.CookieContainer = cookies; 
// do login here with wr1 

var wr2 = (HttpWebRequest) HttpWebRequest.Create(url2); 
wr2.CookieContainer = cookies; 
// get the report with wr2