【问题标题】:Setting HTTP headers to retrieve data from member only web page设置 HTTP 标头以从仅限成员的网页中检索数据
【发布时间】:2012-10-21 02:30:48
【问题描述】:

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

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 标头设置为那个?

【问题讨论】:

    标签: c# http-headers webclient


    【解决方案1】:

    以下方法没有使用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();
    }
    

    【讨论】:

      猜你喜欢
      • 2016-01-04
      • 2011-05-24
      • 2011-08-02
      • 2019-05-05
      • 1970-01-01
      • 1970-01-01
      • 2011-08-23
      • 1970-01-01
      • 2012-11-07
      相关资源
      最近更新 更多