1

我真的是 Mono 开发的新手,并且一直在尝试创建一个小型应用程序(没有工具栏,没有 url 输入字段),它打开一个固定的 url 并向用户显示页面,我能够通过遵循一些教程来完成它在互联网上(我在这个网站上找到的基本想法:http: //mapopa.blogspot.com.br/2011/05/webkit-based-webbrowser-written-in-mono_29.html)。

现在我想知道是否有办法为这个组件设置代理设置(来自 webkit-sharp 的 webview),我一直在挖掘它的 API 并搜索文档,到目前为止没有运气,任何帮助都是真的赞赏!

4

1 回答 1

0

显然托管包装器不公开此功能。以下快速破解应该足以让您入门:

public class SoupSession
{
    [DllImport("webkit-1.0")]
    static extern IntPtr webkit_get_default_session();

    [DllImport("soup-2.4")]
    static extern IntPtr soup_uri_new(string uri);

    [DllImport("gobject-2.0")]
    static extern void g_object_set(IntPtr obj, string name, IntPtr value, IntPtr zero);

    public static void SetProxy(string uri)
    {
        IntPtr session = webkit_get_default_session();
        g_object_set(session, "proxy-uri", soup_uri_new(uri), IntPtr.Zero);
    }
}

请注意,为简洁起见,我省略了 utf-8 转换。如果你愿意,你可以把它变成一个合适的包装类。

于 2012-11-09T00:04:24.940 回答