我是Mono开发的新手,并且一直在尝试创建一个小应用程序(没有工具栏,没有url输入字段),打开一个固定的URL并向用户显示页面,我能够通过以下方式实现互联网上的一些教程(我在这个网站上找到的基本想法:http://mapopa.blogspot.com.br/2011/05/webkit-based-webbrowser-written-in-mono_29.html)。
现在我想知道是否有办法为这个组件设置代理设置(来自webkit-sharp的webview),我一直在挖掘它的API并搜索到目前为止没有运气的文档,任何帮助真的很感激!
答案 0 :(得分: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转换。如果需要,可以将其转换为正确的包装类。