необходимо авторизоваться на сайте для этого использовал HttpWebRequest и HttpWebResponse...но на сайт войти не могу. Не могу понять в чем проблема!? сам код:
| Код | HttpWebResponse result = null; HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("http://www.people.md/"); req.Method = "POST"; req.ContentType = "application/x-www-form-urlencoded"; byte[] SomeBytes = null; string FormParams = "username=" + textBox1.Text + "&password=" + textBox2.Text; SomeBytes = Encoding.GetEncoding(1251).GetBytes(FormParams); req.ContentLength = SomeBytes.Length; Stream newStream = req.GetRequestStream(); newStream.Write(SomeBytes, 0, SomeBytes.Length); newStream.Close(); result = (HttpWebResponse)req.GetResponse(); string[] cookieVal = null; if (result.Headers["Set-Cookie"] != null) cookieVal = result.Headers["Set-Cookie"].Split(new char[] { ',' }); Stream ReceiveStream = result.GetResponseStream(); Encoding encode = Encoding.GetEncoding(1251); StreamReader sr = new StreamReader(ReceiveStream, encode); string answer = sr.ReadToEnd(); sr.Close(); result.Close(); CookieContainer cookie = new CookieContainer(); foreach (string cook in cookieVal) { string[] cookie1 = cook.Split(new char[] { ';' }); if (cookie1.Length < 4) continue; cookie.Add(new Cookie(cookie1[0].Split(new char[] { '=' })[0], cookie1[0].Split(new char[] { '=' })[1], cookie1[1].Split(new char[] { '=' })[1], cookie1[2].Split(new char[] { '=' })[1])); } HttpWebRequest req1 = (HttpWebRequest)HttpWebRequest.Create("http://www.people.md/"); req1.UserAgent = "Mozilla/4.0+(compatible;+MSIE+5.01;+Windows+NT+5.0)"; //Вот оно - важное дополнение. req1.CookieContainer = cookie; req1.Method = "GET"; HttpWebResponse result1 = (HttpWebResponse)req1.GetResponse(); Stream ReceiveStream1 = result1.GetResponseStream(); sr = new StreamReader(ReceiveStream1, encode); string html = sr.ReadToEnd(); textBox3.Text = html; result1.Close();
|
Модератор: Используйте тег code |