Писал сейчас программу, которая работает с сетью и я решил написать для него уникальный класс для посылки POST\GET запросов, но запутался с куками.
Сейчас ниже приведу часть кода:
| Код | public CookieCollection cookies; public string post(string url, string query, int savecookie) { try { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; request.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9"; request.AllowAutoRedirect = false; request.Referer = "http://passport.yandex.ru"; request.CookieContainer = new CookieContainer(); if (savecookie == 0) { request.CookieContainer.Add(cookies); } byte[] bytes = Encoding.UTF8.GetBytes(query); request.ContentLength = bytes.Length; request.GetRequestStream().Write(bytes, 0, bytes.Length); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8); string result = response.Headers.ToString() + "\r\n\r\n" + reader.ReadToEnd(); if (savecookie == 1) { cookies = response.Cookies; } return result; } catch (Exception) { return "error"; } }
|
Пробую зарегистрироваться на Яндексе. Сначала посылаю GET запрос, собираю все значени hidden форм. Потом POST запрос на проверку логину, потом уже все дела, так вот последний запрос мне говорит, что мой браузер не сохраняет куки  В чем проблема?
Заранее спасибо!
|