0

ログインボタンを作成し、ユーザーがログインしているかどうかを確認したい。私はそれを行う2つの方法を考えました。

  1. Web ブラウザの URL が URL と等しいかどうかを確認します (ユーザーが正常にログインした場合、URL は url1 であり、そうでない場合は URL は url2 です)。
  2. 現在の Web ブラウザのコンテンツに単語が含まれているかどうかを確認します (たとえば、ユーザーが正常にログインした場合、リダイレクトされたページに「ありがとう」のメッセージが表示されるはずです)。

すべてが機能していることに言及したいのですが、私の唯一の問題は、彼がログインしているかどうかを確認することです

public void Login()
{
    webBrowser1.Document.GetElementById("username").SetAttribute("value", txtUsername.Text);
    webBrowser1.Document.GetElementById("password").SetAttribute("value", txtPassword.Text);
    foreach (HtmlElement item in webBrowser1.Document.GetElementsByTagName("input"))
    {
        if (item.OuterHtml.Contains("input_submit"))
        {
            item.InvokeMember("Click");
            break; // Here the webbrowser redirect right?
        }
    }
    if (webBrowser1.Document.Body.InnerText.Contains("Thank you"))
        con = true;
    else
        con = false;
}
4

1 に答える 1

1

HttpRequestを使用 してログインの進行状況をエミュレートし、HttpResponseを使用して Web サーバーの応答とコンテンツを取得し、グローバルCookieContainerを使用して Cookie を保存することをお勧めします。

ログイン成功のメッセージが表示されたら、globval CookieContainer で他の HttpRequest を使用して、ダウンロードまたはアクセスする Web ページを取得できます。

これがあなたに役立つことを願っています。

Httpwatch(www.httpwatch.com) を使用して、Internet Explorer が WebServer とデータを交換する方法を監視できます。IE9 開発者ツールを使用してこれを行うこともできます (IE9 で F12 を押します)。

于 2012-06-28T19:29:49.143 に答える