首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >自动填充代理需求webview2

自动填充代理需求webview2
EN

Stack Overflow用户
提问于 2021-02-18 06:49:13
回答 2查看 1.9K关注 0票数 0

我正在使用winforms和webview2创建一个自定义的互联网浏览器,每当我在使用学校互联网时搜索内容时,它都有一个代理框,询问我的用户名和密码。我怎么能每次打开这个盒子就自动装满它?

EN

回答 2

Stack Overflow用户

发布于 2021-02-18 09:58:24

代理设置的命令行选项。可以通过CoreWebView2EnvironmentOptions实例的AdditionalBrowserArguments属性设置这些选项,并在创建CoreWebView2时传递给CoreWebView2Environment.CreateAsync

例如:

代码语言:javascript
运行
复制
WebView2 webView21 = new Microsoft.Web.WebView2.WinForms.WebView2();
private async void Form1_Load(object sender, EventArgs e)
{
    var options = new CoreWebView2EnvironmentOptions();
    options.AdditionalBrowserArguments = "--proxy-server=\"proxyhostname:8000\"";
    var env = await CoreWebView2Environment.CreateAsync(null, null, options);
    await webView21.EnsureCoreWebView2Async(env);

    webView21.Dock = DockStyle.Fill;
    this.Controls.Add(webView21);
    webView21.Source = new Uri("Https://stackoverflow.com");
}

以下是您可以使用的选项:

  • --no-proxy-server:不使用代理。
  • --proxy-auto-detect:自动检测代理配置。
  • --proxy-server=<scheme>=<uri>[:<port>][;...] | <uri>[:<port>] | "direct://":使用自定义配置。
  • --proxy-bypass-list=(<trailing_domain>|<ip-address>)[:<port>][;...]:绕过指定的分号分隔主机列表的任何指定代理。
  • --proxy-pac-url=<pac-file-url>:在指定的URL处使用PAC文件。

要查看有关这些选项的更多描述和示例,请参见:

票数 0
EN

Stack Overflow用户

发布于 2022-04-13 15:50:39

代码语言:javascript
运行
复制
WebView2 webView21 = new Microsoft.Web.WebView2.WinForms.WebView2();

var options = new CoreWebView2EnvironmentOptions();
options.AdditionalBrowserArguments = "--proxy-server=\"" + proxy.Address.Host + ":" + proxy.Address.Port + "\"";
var env = await CoreWebView2Environment.CreateAsync(null, null, options);
await webView21.EnsureCoreWebView2Async(env);

webView21.CoreWebView2.BasicAuthenticationRequested += new EventHandler<CoreWebView2BasicAuthenticationRequestedEventArgs>(delegate (object? sender, CoreWebView2BasicAuthenticationRequestedEventArgs e)
{
    var _credential = proxy == null ? null : proxy?.Credentials as NetworkCredential;
    if (_credential != null)
    {
        e.Response.UserName = _credential.UserName;
        e.Response.Password = _credential.Password;
     }
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66254963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档