【问题标题】:I try to change a link use the webBrowser1我尝试使用 webBrowser1 更改链接
【发布时间】:2018-11-07 09:59:32
【问题描述】:

我尝试在授权后使用 webBrowser1 更改链接,但 webBrowser1 会打开起始站点

private void button1_Click(object sender, EventArgs e)
        {


            webBrowser1.Navigate("http://server/application/login/");
            pause_wb();
            webBrowser1.Document.GetElementById("username").InnerText = "user1";
            pause_wb();             
            webBrowser1.Document.GetElementById("password").SetAttribute("value", "pass1");
            pause_wb();

            webBrowser1.Document.GetElementById("userSignIn").InvokeMember("click");
            pause_wb();

            webBrowser1.Navigate("http://server/application/obj/");
         }

加载暂停

        public void pause_wb()
        {
            while (webBrowser1.ReadyState != WebBrowserReadyState.Complete)
            {
                Application.DoEvents();
            }
        }

如果在字符串 webBrowser1.Navigate("http://server/application/obj/"); 之后运行程序webBrowser1 去启动站点http://server/application/login/

如何更改链接并保存授权?

【问题讨论】:

  • 当手动使用webBrowser1 导航到该网址并登录时,它可以工作吗?

标签: c# web


【解决方案1】:

解决了

string g_cook = "";
    [DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]
                    public static extern bool InternetSetCookie(string lpszUrlName, string lbszCookieName, string lpszCookieData);

private void button1_Click(object sender, EventArgs e)
{

     g_cook = webBrowser1.Document.Cookie.ToString();


    InternetSetCookie("http://server/application/", null, g_cook);
                webBrowser1.Navigate("http://server/application/obj/");
}

【讨论】:

    猜你喜欢
    • 2011-05-22
    • 1970-01-01
    • 2012-07-24
    • 1970-01-01
    • 2023-03-18
    • 2020-11-24
    • 1970-01-01
    • 2020-03-12
    • 2013-08-14
    相关资源
    最近更新 更多