0

以下のことができるアプリを探しています

a)すでに指定されたユーザー名とパスワードを使用して、 HttpWebResponseを使用してページ(login.asxp)にプログラムで自動ログインします。

b) ログインが成功した場合、リダイレクト URL を検出します。

c) 別のフォーム (settings.aspx) を送信して、データベース内の特定のフィールドを更新します。

必要なコーディングには、asp.net を使用する必要があります

アプリケーションは、同じセッション Cookie でこのプロセス全体を完了する必要があります。

4

1 に答える 1

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

...これはあなたがやりたいことに必要な基本的なコードです。

于 2009-05-25T18:11:01.770 に答える