gpt4 book ai didi

WPF 在浏览器中使用凭据打开 URL

转载 作者:行者123 更新时间:2023-12-04 06:21:17 26 4
gpt4 key购买 nike

如何在受用户名/密码对话框保护的新浏览器窗口中打开 URL 并自动填充这些字段(或者甚至更好地将凭据传递给浏览器)?

注意我需要在新的浏览器窗口中打开它,不是 一个 WPF Web 控件。

目前我正在使用 LaunchUriOrFileAction在打开新的浏览器窗口时效果很好,但我需要自动填充凭据。

客户端的默认浏览器将是 IE8。所以旧方式http://user:pass@example.com不会工作。

谢谢

最佳答案

以下解决方案使用 WebBrowser 控件打开一个新的 IE 浏览器窗口。它有效,但有几个限制:

  • 很明显,它只能打开IE——如果你想让它打开Firefox,这将不起作用
  • 新的浏览器窗口出现在后台,任务栏中有一个闪烁的按钮
  • 浏览器实际上并不记住凭据,因此如果用户尝试导航到另一个受密码保护的页面
  • 时会收到提示。

    void OpenIEToAuthenticatedUrl(string url, string username, string password)
    {
    using (WebBrowser browser = new WebBrowser()) {
    string userPass = username + ":" + password;
    string encodedUserPass = Convert.ToBase64String(
    Encoding.ASCII.GetBytes(userPass)
    );

    browser.Navigate(
    url,
    Guid.NewGuid().ToString(), // Force a new window by passing a unique frame name
    null, // No POST data
    "Authorization: Basic " + encodedUserPass
    );
    }
    }

    ...

    OpenIEToAuthenticatedUrl(
    "http://example.com/",
    "user", "pass"
    );

    关于WPF 在浏览器中使用凭据打开 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6515674/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com