V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
qw30716
V2EX  ›  Android

Android 通过代码设置 webview 代理显示成功,但是不生效,有人遇到这种问题吗

  •  
  •   qw30716 · 2017-04-17 15:01:26 +08:00 · 5672 次点击
    这是一个创建于 2576 天前的主题,其中的信息可能已经有所发展或是发生改变。
    private static boolean setProxyICS(Context context, String host, int port) {
    try {
    Class jwcjb = Class.forName("android.webkit.JWebCoreJavaBridge");
    Class params[] = new Class[1];
    params[0] = Class.forName("android.net.ProxyProperties");
    Method updateProxyInstance = jwcjb.getDeclaredMethod("updateProxy", params);

    Class wv = Class.forName("android.webkit.WebView");
    Field mWebViewCoreField = wv.getDeclaredField("mWebViewCore");
    Object mWebViewCoreFieldInstance = getFieldValueSafely(mWebViewCoreField, context);

    Class wvc = Class.forName("android.webkit.WebViewCore");
    Field mBrowserFrameField = wvc.getDeclaredField("mBrowserFrame");
    Object mBrowserFrame = getFieldValueSafely(mBrowserFrameField, mWebViewCoreFieldInstance);

    Class bf = Class.forName("android.webkit.BrowserFrame");
    Field sJavaBridgeField = bf.getDeclaredField("sJavaBridge");
    Object sJavaBridge = getFieldValueSafely(sJavaBridgeField, mBrowserFrame);

    Class ppclass = Class.forName("android.net.ProxyProperties");
    Class pparams[] = new Class[3];
    pparams[0] = String.class;
    pparams[1] = int.class;
    pparams[2] = String.class;
    Constructor ppcont = ppclass.getConstructor(pparams);
    updateProxyInstance.invoke(sJavaBridge, ppcont.newInstance(host, port, null));
    return true;
    } catch (Exception ex) {
    return false;
    }
    }
    3 条回复    2017-04-18 10:07:31 +08:00
    gouchaoer
        1
    gouchaoer  
       2017-04-17 15:24:05 +08:00
    我艹我也遇到这个问题,不过我是 ios 的 uiwebview 没法设置代理
    gouchaoer
        2
    gouchaoer  
       2017-04-17 15:24:36 +08:00
    你搞这个不会是为了搞用户 cookie 吧
    qw30716
        3
    qw30716  
    OP
       2017-04-18 10:07:31 +08:00
    @gouchaoer 我是通过设置代理拦截网络请求,但是 webview 代理感觉内存泄露了,没有生效
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3529 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 00:08 · PVG 08:08 · LAX 17:08 · JFK 20:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.