在Webview标签Electron中使用代理

时间:2019-04-09 02:22:34

标签: webview proxy electron

我正在使用the demo app作为模板来创建Electronjs应用。即 我的应用程序文件夹如下所示: . |--_js |--wv1_utils.js |--wv2_utils.js |--_sections |-- webview1.html |-- webview2.html |--index.html |--main.js |--renderer.js

每个webview..html都包含一个<webview>标记,并与各自的index.html一起加载到wv_utils..js中。

我想要做的是将代理动态分配给已加载到webview标记中的不同url。但是,这样做尚未成功。

根据Electron的文档,我应该能够使用webview标记的partition属性,并与会话对象一起设置代理。 this SO post中也确认了这个想法。 因此,我的代码如下所示:

  • webview1.html

<webview id="idWV1" partition="persist:webviewsession"></webview>

  • wv1_utils.js

    const {session} = window.require('electron').remote;
    var my_proxy = prxyHost + ':' + prxyPort;
    webView1 = document.getElementById("idWV1");
    session.fromPartition('webviewsession').setProxy({proxyRules:my_proxy}, function (){
        webView1.src = "https://whatsmyipaddress.com/";
    });
    

但是,这似乎不起作用-页面加载了空的正文和标题,而在任何地方都没有错误。我似乎无法弄清的另一个重要问题是,如果代理需要身份验证,如何使用用户名/密码。

0 个答案:

没有答案