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(); 
} 

... 이것은 사용자가 원하는 기능에 필요한 기본 코드입니다.

관련 문제