2009-06-22 16 views
2

Ich versuche, mich auf einer HTTPS-Website anzumelden und dann zum Herunterladen eines Berichts mit C# (einem XML-Bericht) zu navigieren.HTTPS C# Post?

Ich habe es geschafft, mich über Cookies/Header usw. einzuloggen - aber sobald ich zu dem Link geloggt bin, nachdem ich eingeloggt bin, bringt mich meine Verbindung zur Seite "Abgemeldet"?

Wer weiß, was würde das verursachen?

+0

können Sie einige Code-Snippets posten, damit wir sehen können, wie Sie dies jetzt versuchen? –

+0

Wenn Sie sich anmelden, übergeben Sie dann alle Cookies, die der Server in Ihren nachfolgenden Anfragen zurücksendet? – RobV

Antwort

2

Es kann eine beliebige Anzahl von Gründen geben. Haben Sie den Cookie zur Download-Anfrage weitergeleitet? Haben Sie eine Referrer-URL übergeben?

Der beste Weg zu überprüfen ist, eine funktionierende HTTP-Anfrage mit Wireshark oder einer beliebigen Anzahl von Firefox-Erweiterungen oder Fiddler aufzuzeichnen.

versuchen dann die Anforderung in C# die gleiche die CookieContainer Sie für Ihre Anmeldung verwenden neu

5

Stellen Sie sicher, die Sie verwenden, wenn die aktuelle Bericht herunterzuladen.

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