Note that there are some explanatory texts on larger screens.

plurals
  1. POHttpWebRequest sends 1 cookie instead of 2
    primarykey
    data
    text
    <p>My program is supposed to log in to a site. To log in there you should make a request to the main page and get cookies, then you should login (http://site.com/auth/login). When I make a request to the main page and get the cookies, everything is OK, there are two cookies in the cookie container, but when I log in, there's only one cookie. Here goes the code:</p> <pre><code> public CookieContainer GetCookies() { HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create("http://site.com/"); httpWebRequest.CookieContainer = new CookieContainer(); httpWebRequest.Accept = "*/*"; httpWebRequest.Headers.Add(HttpRequestHeader.AcceptLanguage, "ru"); httpWebRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/4.0; WebMoney Advisor; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Tablet PC 2.0; .NET4.0C; .NET CLR 1.1.4322; .NET4.0E; MALC)"; httpWebRequest.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip, deflate"); httpWebRequest.Timeout = 30000; CookieContainer cookieContainer = new CookieContainer(); HttpWebResponse response = (HttpWebResponse)httpWebRequest.GetResponse(); foreach (Cookie c in response.Cookies) { cookieContainer.Add(c); } return cookieContainer; } public bool Login(string Email, string Password, CookieContainer Cookies) { string s = "handle=" + Email + "&amp;password=" + Password; byte[] bytes = Encoding.ASCII.GetBytes(s); HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create("http://site.com/auth/login"); httpWebRequest.Method = "POST"; httpWebRequest.Accept = "image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*"; httpWebRequest.Referer = "http://www.lockerz.com/"; httpWebRequest.Headers.Add(HttpRequestHeader.AcceptLanguage, "ru-RU"); httpWebRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/4.0; WebMoney Advisor; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Tablet PC 2.0; .NET4.0C; .NET CLR 1.1.4322; .NET4.0E; MALC)"; httpWebRequest.ContentType = "application/x-www-form-urlencoded"; httpWebRequest.CookieContainer = Cookies; httpWebRequest.ContentLength = (long)bytes.Length; httpWebRequest.Headers.Add(HttpRequestHeader.Pragma, "no-cache"); httpWebRequest.Timeout = 30000; httpWebRequest.AutomaticDecompression = DecompressionMethods.GZip; Stream requestStream = httpWebRequest.GetRequestStream(); requestStream.Write(bytes, 0, bytes.Length); requestStream.Close(); HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse(); StreamReader reader = new StreamReader(httpWebResponse.GetResponseStream()); string document = reader.ReadToEnd().Trim(); if (document.IndexOf("Sign Out") &gt; 1) { httpWebResponse.Close(); return true; } else { httpWebResponse.Close(); return false; } } </code></pre> <p>What's wrong? Thanks in advance.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload