如何使用WebClientlogin网站?

我想在C#中使用WebClient对象下载某些内容,但是下载域需要我login。如何使用WebClientlogin并保存会话数据? 我知道如何使用WebClient发布数据。

如果您遇到的问题是您可以进行身份​​validation,但您不能保持身份validationcookie在这里是WebClient的cookie意识版本。

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; } } 

编辑:你给我的链接使用HTTP POST的表单身份validation,我没有时间去走,但至less它让你开始与谷歌。

看看使用Credentials属性。 例如,如果使用基本身份validation,则必须使用正确的用户名和密码将该属性设置为NetworkCredential的实例。

指向的示例显示如何使用当前login的用户凭据的请求。