C# 设置HTTP标头以从仅成员网页检索数据

C# 设置HTTP标头以从仅成员网页检索数据,c#,http-headers,webclient,C#,Http Headers,Webclient,我的C代码有点问题,我不知道如何解决。我试图下载一个只有登录的人才能看到的网页(否则返回403响应)。因此,我认为最好的方法是将HTTP头cookie值设置为登录用户的值。不幸的是,它没有起作用。下面是代码片段: WebClient web = new WebClient(); web.Headers[HttpRequestHeader.Accept] = "*/*"; web.Headers[HttpRequestHeader.Cookie] = "User cookie"; string

我的C代码有点问题,我不知道如何解决。我试图下载一个只有登录的人才能看到的网页(否则返回403响应)。因此,我认为最好的方法是将HTTP头cookie值设置为登录用户的值。不幸的是,它没有起作用。下面是代码片段:

WebClient web = new WebClient();
web.Headers[HttpRequestHeader.Accept] = "*/*";
web.Headers[HttpRequestHeader.Cookie] = "User cookie";

string pagecontent = web.DownloadString("Forbidden page");
当代码被使用时,我仍然得到一个403错误。我肯定是在使用一个有效的cookie,我已经测试过了。出了什么问题


除此之外,如何从webBrowser获取cookie并将webclient HTTP cookie头设置为该值?

以下方法不使用
webclient
类,但它可以工作:

string domain = ...
string url = ...
Cookie cookie = ...

var request = (HttpWebRequest)WebRequest.Create(url);
request.CookieContainer = new CookieContainer();
request.CookieContainer.Add(domain, cookie);

using (var response = request.GetResponse())
using (var reader = new StreamReader(response.GetResponseStream()))
{
    var responseValue = reader.ReadToEnd();
}