Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Распределённые приложения и сеть > Программа для web-аутентификации на cisco роутере


Автор: XavierElf 12.8.2008, 12:03
Не знаю, кто-нибудь сталкивался с таким или нет. Суть в следующем: Имеется Web-интерфейс для аутентификации на роутере. Он предназначен для подключения/отключения интернета. Для удобства решил написать программу, которая будет отслеживать состояния подключения(отключен/подключен), производить отключение интернета и соответственно подключение. Состояние подключения и  отключение производятся без проблем, а вот с подключением никак не выходит.
Использую HttpWebRequest, заголовок и тело запроса передаю один в один, как браузер, однако через браузер всё проходит отлично, а через HttpWebRequest в респонс всё время идёт "Session Expired".
Вот кусок кода отвечающий за аутентификацию:
Код

                    string reqStr = string.Format("username={0}&password={1}&sid=0", loginTB.Text, passwordTB.Text);
                    byte[] byteArrs = Encoding.UTF8.GetBytes(reqStr);
                    HttpWebRequest loginRequest = (HttpWebRequest)HttpWebRequest.Create("https://someserver/netaccess/loginuser.html");
                    loginRequest.Method = "POST";
                    loginRequest.UserAgent = "Opera/9.51 (Windows NT 5.1; U; ru)";
                    loginRequest.Accept = "text/html, application/xml;q=0.9, image/gif, image/jpeg, image/x-bitmap, */*;q=0.1";
                    loginRequest.ContentType = "application/x-www-form-urlencoded";
                    loginRequest.ContentLength = byteArrs.Length;
                    loginRequest.AllowAutoRedirect = false;
                    loginRequest.GetRequestStream().Write(byteArrs, 0, byteArrs.Length);
                    HttpWebResponse loginResponse = (HttpWebResponse)loginRequest.GetResponse();
                    Debug.Write(new StreamReader(loginResponse.GetResponseStream()).ReadToEnd());
                    loginResponse.Close();


Автор: jonie 3.9.2008, 22:43
брать в зубы сниффер и смотреть чего передаете не так.
сниффер, например fibber

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)