C# 更改webkit sharp for mono上的代理设置

C# 更改webkit sharp for mono上的代理设置,c#,proxy,mono,webkit,browser,C#,Proxy,Mono,Webkit,Browser,我对Mono开发非常陌生,一直在尝试创建一个小应用程序(没有工具栏,没有url输入字段),它可以打开一个固定的url并向用户显示页面,我通过在internet上遵循一些教程(我在这个网站上找到的基本思想:)就可以实现这一点 现在我想知道是否有办法为这个组件(webkit sharp的webview)设置代理设置,我一直在挖掘它的API并搜索文档,到目前为止运气不好,如果有任何帮助,我将不胜感激 显然,托管包装器没有公开此功能。以下快速破解应该足以让您开始: public class SoupSe

我对Mono开发非常陌生,一直在尝试创建一个小应用程序(没有工具栏,没有url输入字段),它可以打开一个固定的url并向用户显示页面,我通过在internet上遵循一些教程(我在这个网站上找到的基本思想:)就可以实现这一点


现在我想知道是否有办法为这个组件(webkit sharp的webview)设置代理设置,我一直在挖掘它的API并搜索文档,到目前为止运气不好,如果有任何帮助,我将不胜感激

显然,托管包装器没有公开此功能。以下快速破解应该足以让您开始:

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转换。如果需要,可以将其转换为适当的包装器类