I want to download something using a WebClient object in C#, but the download domain requires me to be logged in. How can I log in and keep session data using WebClient? I know how to post data with WebClient.
If the problem you are having is you can authenticate but you cant keep the authentication cookie here is a cookie aware version of WebClient.
private class CookieAwareWebClient : WebClient { public CookieAwareWebClient() : this(new CookieContainer()) { } public CookieAwareWebClient(CookieContainer c) { this.CookieContainer = c; } public CookieContainer CookieContainer { get; set; } protected override WebRequest GetWebRequest(Uri address) { WebRequest request = base.GetWebRequest(address); var castRequest = request as HttpWebRequest; if (castRequest != null) { castRequest.CookieContainer = this.CookieContainer; } return request; } }
EDIT: The link you gave me uses forms authentication with HTTP POST, I don't have the time to walk though it but at least it gives you a start with Google.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With