Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.11.2012, 10:57   #11
masax
Форумчанин
 
Регистрация: 01.10.2008
Сообщений: 248
По умолчанию

не нашел в WebBrowser-е доступа к header-ам
Контакты
skype, почта: bm@kwax.ru
masax вне форума Ответить с цитированием
Старый 22.11.2012, 11:04   #12
qwq
Пользователь
 
Регистрация: 05.11.2009
Сообщений: 96
По умолчанию

Спасибо за ответ, буду разбираться.
И еще, каким вы пользуетесь сниффером?
qwq вне форума Ответить с цитированием
Старый 22.11.2012, 12:55   #13
masax
Форумчанин
 
Регистрация: 01.10.2008
Сообщений: 248
По умолчанию

снифферами не пользуюсь)
Developers Tools (кнопка F12) в Google Chrome
Контакты
skype, почта: bm@kwax.ru
masax вне форума Ответить с цитированием
Старый 22.11.2012, 13:03   #14
qwq
Пользователь
 
Регистрация: 05.11.2009
Сообщений: 96
По умолчанию

благодарю за все
как что сделаю, обязательно отпишусь
qwq вне форума Ответить с цитированием
Старый 28.11.2012, 17:20   #15
qwq
Пользователь
 
Регистрация: 05.11.2009
Сообщений: 96
По умолчанию

Народ, я застрял в одном месте. Не могу понять как передать логин пароль в Post запросе
Код:
private void button1_Click(object sender, EventArgs e)
        {
            HttpWebRequest webreq = (HttpWebRequest)HttpWebRequest.Create("http://uh.ru");
            webreq.Proxy = new WebProxy("127.0.0.1", 8888);
            webreq.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
            webreq.Headers.Add("Accept-Charset", "windows-1251,utf-8;q=0.7,*;q=0.3");
            webreq.Headers.Add("Accept-Encoding", "gzip,deflate,sdch");
            webreq.Headers.Add("Accept-Language", "ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4");
            webreq.UserAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/534.33 (KHTML, like Gecko) Chrome/13.0.755.0 Safari/534.33";
            webreq.CookieContainer = new CookieContainer();
            HttpWebResponse webresp = (HttpWebResponse)webreq.GetResponse();                 
            StreamReader stream = new StreamReader(webresp.GetResponseStream(), Encoding.GetEncoding("UTF-8"));        
            richTextBox1.Text = stream.ReadToEnd();
           
            foreach (Cookie cook in webresp.Cookies)
            {
                
                
                listBox1.Items.Add(cook.ToString());
                listBox1.Items.Add(cook.Value);
                sesid = cook.Value;
                listBox1.Items.Add("Path:" + cook.Path);
                path = cook.Path;
            }
           

            HttpWebRequest webreq1 = (HttpWebRequest)HttpWebRequest.Create("http://uh.ru/login/");
            webreq1.Proxy = new WebProxy("127.0.0.1", 8888);
            webreq1.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
            webreq1.Headers.Add("Accept-Charset", "windows-1251,utf-8;q=0.7,*;q=0.3");
            webreq1.Headers.Add("Accept-Encoding", "gzip,deflate,sdch");
            webreq1.Headers.Add("Accept-Language", "ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4");
            webreq1.UserAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/534.33 (KHTML, like Gecko) Chrome/13.0.755.0 Safari/534.33";
            //webreq1.Headers.Add("capauh =", "1");
            webreq1.CookieContainer = new CookieContainer();            
            webreq1.CookieContainer.Add(webresp.Cookies);
            HttpWebResponse webresp1 = (HttpWebResponse)webreq1.GetResponse();
            //webreq1.CookieContainer.Add(webresp.Cookies);
            StreamReader stream1 = new StreamReader(webresp1.GetResponseStream(), Encoding.GetEncoding("UTF-8"));
            richTextBox1.Text = stream1.ReadToEnd();

            
            
            HttpWebRequest webreq2 = (HttpWebRequest)HttpWebRequest.Create("http://uh.ru/login/");
            webreq2.Proxy = new WebProxy("127.0.0.1", 8888);
            webreq2.Method = "POST";
            webreq2.Headers.Add("Cache-Control", "max-age=0");
            webreq2.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
            webreq2.Headers.Add("Accept-Charset", "windows-1251,utf-8;q=0.7,*;q=0.3");
            webreq2.Headers.Add("Accept-Encoding", "gzip,deflate,sdch");
            webreq2.Headers.Add("Accept-Language", "ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4");
            webreq2.UserAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/534.33 (KHTML, like Gecko) Chrome/13.0.755.0 Safari/534.33";
            //webreq2.Headers.Add("capauh =", "1");
            webreq2.CookieContainer = new CookieContainer();
            webreq2.CookieContainer.Add(webresp.Cookies);
            //webreq2.Headers.Add("Content-Length", "69");            
            webreq2.ContentType = "application/x-www-form-urlencoded";
            webreq2.Headers.Add("Origin", "http://uh.ru");
            webreq2.Referer = "http://uh.ru/login/";
            HttpWebResponse webresp2 = (HttpWebResponse)webreq2.GetResponse();
            //webreq1.CookieContainer.Add(webresp.Cookies);
            StreamReader stream2 = new StreamReader(webresp2.GetResponseStream(), Encoding.GetEncoding("UTF-8"));
            richTextBox1.Text = stream2.ReadToEnd();


        }
как передать логин и пароль. Помогите. Очень нужно
qwq вне форума Ответить с цитированием
Старый 29.11.2012, 13:13   #16
masax
Форумчанин
 
Регистрация: 01.10.2008
Сообщений: 248
По умолчанию

пример авторизации
Код:
request = (HttpWebRequest)WebRequest.Create("адрес");
            request.Method = "POST";
            request.AllowAutoRedirect = true;
            request.CookieContainer = new CookieContainer();
            request.ContentType = "application/x-www-form-urlencoded";
 
            try
            {
                if (request.CookieContainer.Count == 0)
                {
                    byte[] query = System.Text.Encoding.ASCII.GetBytes(string.Format("login_email={0}&login_password={1}", "login", "pass"));
                    request.ContentLength = query.Length;
 
                    Stream stream = request.GetRequestStream();
                    stream.Write(query, 0, query.Length);
                    stream.Close();
                }
                using (HttpWebResponse resp = (HttpWebResponse)request.GetResponse())
                {
                    resp.Cookies = request.CookieContainer.GetCookies(request.RequestUri);
                    using (Stream st = resp.GetResponseStream())
                    {
                        using (StreamReader read = new StreamReader(st))
                        {
                            return getText(read.ReadToEnd());
                        }
                    }
                }
            }
            catch (Exception)
            {
                return null;
            }
Контакты
skype, почта: bm@kwax.ru
masax вне форума Ответить с цитированием
Старый 29.11.2012, 18:04   #17
qwq
Пользователь
 
Регистрация: 05.11.2009
Сообщений: 96
По умолчанию

сделал так, но ничего не происходит, как будто и не передаю ничего
Код:
HttpWebRequest webreq2 = (HttpWebRequest)HttpWebRequest.Create("http://uh.ru/login/");
            webreq2.Proxy = new WebProxy("127.0.0.1", 8888);
            webreq2.Method = "POST";
            webreq2.AllowAutoRedirect = true;
            webreq2.Headers.Add("Cache-Control", "max-age=0");
            webreq2.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
            webreq2.Headers.Add("Accept-Charset", "windows-1251,utf-8;q=0.7,*;q=0.3");
            webreq2.Headers.Add("Accept-Encoding", "gzip,deflate,sdch");
            webreq2.Headers.Add("Accept-Language", "ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4");
            webreq2.UserAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/534.33 (KHTML, like Gecko) Chrome/13.0.755.0 Safari/534.33";
            //webreq2.Headers.Add("capauh =", "1");
            webreq2.CookieContainer = new CookieContainer();
            webreq2.CookieContainer.Add(webresp.Cookies);
            //webreq2.Headers.Add("Content-Length", "69");            
            webreq2.ContentType = "application/x-www-form-urlencoded";
            webreq2.Headers.Add("Origin", "http://uh.ru");
            webreq2.Referer = "http://uh.ru/login/";


            try
            {
                if (webreq2.CookieContainer.Count == 0)
                {
                    byte[] query = System.Text.Encoding.ASCII.GetBytes(string.Format("login_email={0}&login_password={1}", "пароль", "логин"));
                    webreq2.ContentLength = query.Length;

                    Stream stre = webreq2.GetRequestStream();
                    stre.Write(query, 0, query.Length);
                    stre.Close();
                }
                using (HttpWebResponse webresp2 = (HttpWebResponse)webreq2.GetResponse())
                {
                    webresp2.Cookies = webreq2.CookieContainer.GetCookies(webreq2.RequestUri);
                    using (Stream st = webresp2.GetResponseStream())
                    {
                        using (StreamReader read = new StreamReader(st))
                        {
                            return richTextBox1.Text = read.ReadToEnd();
                        }
                    }
                }
            }
            catch (Exception)
            {
                return null;
            }

где я ошибся? помогите, буду очень признателен.
qwq вне форума Ответить с цитированием
Старый 29.11.2012, 18:55   #18
Reskov
Форумчанин
 
Аватар для Reskov
 
Регистрация: 17.12.2008
Сообщений: 250
По умолчанию

Попробуйте так... не получиться будем разбираться)
Код:
public class WebClientEx : WebClient
    {
        private CookieContainer _cookieContainer = new CookieContainer();

        protected override WebRequest GetWebRequest(Uri address)
        {
            WebRequest request = base.GetWebRequest(address);
            if (request is HttpWebRequest)
            {
                (request as HttpWebRequest).CookieContainer = _cookieContainer;
            }
            return request;
        }
    }



 
using (var client = new WebClientEx())
            {
                var data = new NameValueCollection
            {
                { "login", "123" },
                { "password", "123" },
            };
                var response1 = client.UploadValues("http://uh.ru/login/", data);

                var response2 = client.DownloadData("http://uh.ru/dev/captcha/idx.php");
                using (Image image = Image.FromStream(new MemoryStream(response2)))
                {
                    image.Save("c:\\output.jpg", ImageFormat.Jpeg); 
                }
            }
Reskov вне форума Ответить с цитированием
Старый 30.11.2012, 15:30   #19
qwq
Пользователь
 
Регистрация: 05.11.2009
Сообщений: 96
По умолчанию

для меня сейчас главное передать логин и пароль. чувствую ошибка в этом моменте
Код:
 byte[] query = System.Text.Encoding.ASCII.GetBytes(string.Format("login={0}&password={1}", "пароль", "логин"));
                    webreq2.ContentLength = query.Length;

                    Stream stre = webreq2.GetRequestStream();
                    stre.Write(query, 0, query.Length);
                    stre.Close();
а вот где именно понять не могу. На сайте эти поля называются login и password
Может надо по другому передавать?
qwq вне форума Ответить с цитированием
Старый 01.12.2012, 11:52   #20
masax
Форумчанин
 
Регистрация: 01.10.2008
Сообщений: 248
По умолчанию

а кто сказал что они не передаются?
от того что ты авторизоваться не можешь?
проверь еще кодировку, мб на сайте UTF-8
Контакты
skype, почта: bm@kwax.ru
masax вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрет повторной авторизации на сайте -MagicAlex- PHP 9 22.10.2012 05:42
Регистрация на сайте. Проблемы с капчей igrok111 Общие вопросы Delphi 1 22.07.2012 03:58
написать процедуру авторизации на сайте art-programs Фриланс 0 25.03.2011 17:32
Комплексный вопрос на тему авторизации на сайте и подтверждению сертификата Anatol_rus Работа с сетью в Delphi 13 15.10.2009 15:44
Проблема авторизации на сайте Terikon Работа с сетью в Delphi 0 17.03.2009 16:50