Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Эмуляция Html-Формы

1.7K
29 мая 2006 года
alektrik
140 / / 16.01.2006
Ситуация такая, при нажатии на кнопку типа submit начинается отправка формы на сервак... Нужно сделать софтину, которая делает тоже самое (отправляет данные)....
273
29 мая 2006 года
3A3-968M
1.2K / / 22.12.2005
Цитата:
Originally posted by alektrik
Ситуация такая, при нажатии на кнопку типа submit начинается отправка формы на сервак... Нужно сделать софтину, которая делает тоже самое (отправляет данные)....


Скажем, при нажатии на кнопку submit форму отправляет обратно броузер. Можно использовать компонент WebBrowser, если у тебя .NET Framework 2.0. Если нет, тогда можно сделать так (пример отправки введённых с консоли данных на сервак через HTTP):

Код:
// Создаём запрос к ресурсу              
HttpWebRequest myHttpWebRequest=(HttpWebRequest)WebRequest.Create("http://www.blabla.ru/index.aspx");
myHttpWebRequest.AllowWriteStreamBuffering=false;
Console.WriteLine("ВВедите данные для отправки");
string inputData =Console.ReadLine();
string postData="firstone="+inputData;
// Устанавлием метод отправки формы - POST (а не GET)
myHttpWebRequest.Method="POST";
ASCIIEncoding encodedData=new ASCIIEncoding();
byte[]  byteArray=encodedData.GetBytes(postData);
myHttpWebRequest.ContentType="application/x-www-form-urlencoded";
myHttpWebRequest.ContentLength=byteArray.Length;
Stream newStream=myHttpWebRequest.GetRequestStream();
newStream.Write(byteArray,0,byteArray.Length);
newStream.Close();
Console.WriteLine("Данные были запостены..........");
HttpWebResponse myHttpWebResponse=(HttpWebResponse)myHttpWebRequest.GetResponse();

Чтобы отправить форму с изменённым содержимым, читаем содержимое HTML из ответа:
 
Код:
HttpWebRequest Request = (HttpWebRequest)WebRequest.Create("http://www.blabla.ru/index.aspx");
            HttpWebResponse Response = (HttpWebResponse)Request.GetResponse();
Stream responseStream=Response.GetResponseStream();

Теперь в responseStream у тебя поток байтов, содержащий текст HTML. Делаешь всё что надо с ним, далее при помощи потока Request.GerRequestStream() засылаешь обратно
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог