2009-05-25 3 views
0

Я искал приложение, которое может сделать следующееКак отправить форму автоматически с помощью HttpWebResponse

а) Программным авто Войти на страницу (login.asxp) с использованием HttpWebResponse с помощью уже указанного имени пользователя и пароль.

b) Обнаружение URL-адреса переадресации при успешном входе в систему.

c) Отправить другую форму (settings.aspx) для обновления определенных полей в базе данных.

Необходимое кодирование должно быть с помощью ASP.NET

Приложение должно завершить весь этот процесс в том же куки сессии.

ответ

0
string sUrl = "login.aspx"; 
HttpWebRequest oRequest = (HttpWebRequest)WebRequest.Create(sUrl); 
CookieContainer oMyCookies = new CookieContainer(); 
oRequest.CookieContainer = oMyCookies; 
// encode postdata into byte array. the postdata string format will most likely be different and you'll have to examine the postdata going back and forth using some firefox addon like LiveHTTPHeaders 
byte[] oPostData = System.Encoding.UTF8.GetBytes("username=" + HttpUtility.UrlEncode(sUser) + "&pass=" HttpUtility.UrlEncode(sPass)); 
using (Stream oStream = oRequest.GetRequestStream()) 
{ 
    oStream.Write(oPostData, 0, oPostData.Length); 
} 
HttpWebResponse oResponse = oRequest.GetResponse(); 
// save response cookies in our cookie object for future sessions! 
foreach (Cookie oCookie in oResponse.Cookies) 
{ 
    oMyCookies.SetCookies(sUrl, oCookie.ToString()); 
} 
// maybe check response headers for location 
string sResponseContents = null; 
using (StreamReader oReader = new StreamReader(oResponse.GetResponseStream()) 
{ 
    // store server response into string 
    sResponseContents = oReader.ReadToEnd(); 
} 

... это базовый код, необходимый для того, что вы хотите сделать.

 Смежные вопросы

  • Нет связанных вопросов^_^