WebBrowser控件不包含cookie

时间:2014-06-18 08:55:01

标签: c# cookies webbrowser-control console-application

我正在使用WebBrowser控件登录页面并检索响应在Windows控制台应用程序(C#)中设置的cookie。

签约进展顺利。我可以在Fiddle中看到登录成功,并且已设置。但是当我尝试从WebBrowser控件获取cookie时,代码 webbroser.Document.Cookie 返回 null

这是代码

public void runBrowserThread(Uri url)
    {

        var th = new Thread(() =>
            {
                var br = new WebBrowser();
                br.DocumentCompleted += browser_DocumentCompleted;
                br.Navigate(url);
                Application.Run();
            });

        th.SetApartmentState(ApartmentState.STA);
        th.Start();



    }

    void browser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
        var br = sender as WebBrowser;

        if (!dataInputPassed)
        {
            Console.WriteLine(br.Document.Body.InnerHtml);
            br.Document.GetElementById("UserName").SetAttribute("value", "user");
            br.Document.GetElementById("Password").SetAttribute("value", "pass");
            br.Document.Forms[0].InvokeMember("submit");
            dataInputPassed = true;
        }
        if (e.Url.ToString().Contains("Osiguruvanje") && br.Document.Cookie != null)
        {
            Console.WriteLine(br.Document.Body.InnerHtml);


        }
    }

为什么会这样?有没有办法获取控件的内部WebRequest并从那里检索cookie? 请记住,我正在登录的页面,通过调用javascript表单子目录进行多次重定向,其中一个重定向,因此使用WebRequest类不会有太大帮助。

0 个答案:

没有答案