通过C#中的WebRequest方法登录的特殊cookie

本文关键字:cookie 登录 方法 中的 WebRequest 通过 | 更新日期: 2024-09-25 00:38:55

我尝试使用此代码从网站获取cookie

CookieCollection cookies = new CookieCollection();
CookieContainer cooki = new CookieContainer();
HttpWebRequest request = (HttpWebRequest) WebRequest.Create(weburl.Text);
request.CookieContainer = cooki;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader read = new StreamReader(response.GetResponseStream());
request.CookieContainer = cooki;
request.CookieContainer.Add(cookies);
cookies = response.Cookies;
if(response.Cookies != null &&  response.Cookies.Count != 0)
{
    foreach(Cookie c in response.Cookies)
        listBox2.Items.Add(c.ToString());
}
else
        listBox2.Items.Add("No Cookies");

但当我尝试这样的网站http://www.cloob.com什么也没发生。

我在C#中通过网络浏览器尝试了这个网站,并尝试了这个代码

string cooki = webbrowser1.Document.Cookie.tostring();

我得到了很多这样的信息:

Cookie=LMOT=1343810524;IdM=否;__utma=204761026.19745671.1343776441.1343805546.1343810526.4__utmz=204761026.1343776441.1.1.utmccn=(直接)|utmcsr=(直接)| utmcmd=(无);CR=%7B%22online_count%22:%5B%7B%22count%22:8059,%22status%22:%22available%22%7D,%7B%22count%22:%2221204%22,%22status%22:%22invisible%22%7D,%7B%22count%22:%2276%22,%22status%22:%22busy%22%7D%5D%7D;m_ id=1343781310_7982757;LCCT=1343809271__utmb=204761026;__utmc=204761026

现在我如何通过webrequest获取此信息?

通过C#中的WebRequest方法登录的特殊cookie

虽然您的代码有点多余,但我看不出它有什么问题。当我针对http://www.google.com/测试它时,它对我有效。http://www.cloob.com可能在javascript中设置cookie,这可以解释为什么您可以在WebBrowser对象中看到cookie,但不能在WebRequest中看到。