Post и куки - C#

Узнай цену своей работы

Формулировка задачи:

Есть класс в нем метод
 
public CookieCollection CookieC;
public string webpostBrauz(string url, string part)
        {
string codePage = "";
            CookieContainer cook = new CookieContainer();
            try
            {
 
                HttpWebRequest rea = (HttpWebRequest) 
                    WebRequest.Create(url);
                rea.Method = "Post";
                rea.KeepAlive = true;
                rea.UserAgent = @"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0";
                rea.Headers.Add(HttpRequestHeader.AcceptLanguage, @"ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3");
                rea.Headers.Add(HttpRequestHeader.AcceptEncoding, @"gzip, deflate");
                rea.Referer = "http://site.ru/ru/";
                rea.Connection = "keep-alive";
                rea.ContentType = @"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";             
                rea.Credentials = CredentialCache.DefaultCredentials;
                rea.CachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore);
                ServicePointManager.ServerCertificateValidationCallback = ((sender, certificate, chain, sslPolicyErrors) => true);
                ServicePointManager.ServerCertificateValidationCallback += new System.Net.Security.RemoteCertificateValidationCallback(ValidateServerCertificate);
                
                streamCodePage.Write(Encoding.UTF8.GetBytes(part), 0, Encoding.UTF8.GetBytes(part).Length);
                streamCodePage.Close();
                HttpWebResponse res = (HttpWebResponse) rea.GetResponse();
                CookieC = res.Cookies;
                StreamReader readCodePage = new StreamReader(rea.GetResponse().GetResponseStream());
 
            }
            catch
            {
 
            }
 
            return codePage;
        }
Использую его
WebRq Rq = new WebRq();
            sRq.webpostBrauz("http://site.ru/en/login.php",
                "login=" + Log.Text + "&passwordr=" + pass +
                "&name=true");
Как в данной ситуации мне правильно получить куки при передаче POST. И что я делаю не так ? Сайт использует ssl.

Решение задачи: «Post и куки»

textual
Листинг программы
string code = "";
            CookieCollection CooKc = new CookieCollection();
 
            try
            {
                HttpWebRequest req = (HttpWebRequest) // инициал премен
                WebRequest.Create("http://url/");
                req.KeepAlive = true;
                req.Method = "GET";
                req.UserAgent = @"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0";
                req.Headers.Add(HttpRequestHeader.AcceptLanguage, @"ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3");
                req.Headers.Add(HttpRequestHeader.AcceptEncoding, @"gzip, deflate");
                // Посылаем в форму строку data
                req.ContentType = @"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
                req.Referer = "http://url/";
                req.CookieContainer = new CookieContainer();
                req.CookieContainer.Add(CooKc);
                req.Credentials = CredentialCache.DefaultCredentials;
                HttpWebResponse respon = (HttpWebResponse) req.GetResponse();
                Stream stream = respon.GetResponseStream();
                StreamReader strr = new StreamReader(stream);
                textBox2.Text = respon.Headers["Set-Cookie"];
            }
            catch
            {
                //
            }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4 из 5