Appearance
代理设置
设置全局生效
方法一:在初始化的时候设置
cpp
mbSettings* settings = new mbSettings();
memset(settings, 0, sizeof(mbSettings));
settings->mask |= MB_SETTING_PROXY;
settings->proxy.type = MB_PROXY_HTTP;
// 设置 hostname, port, username, password
mbInit(settings);
完整定义为
cpp
typedef enum {
MB_PROXY_NONE,
MB_PROXY_HTTP,
MB_PROXY_SOCKS4,
MB_PROXY_SOCKS4A,
MB_PROXY_SOCKS5,
MB_PROXY_SOCKS5HOSTNAME
} mbProxyType;
typedef struct {
mbProxyType type;
char hostname[100];
unsigned short port;
char username[50];
char password[50];
} mbProxy;
typedef void(MB_CALL_TYPE* mbOnBlinkThreadInitCallback)(void* param);
typedef struct _mbSettings {
mbProxy proxy;
unsigned int mask; // 208 offset
mbOnBlinkThreadInitCallback blinkThreadInitCallback;
void* blinkThreadInitCallbackParam;
intptr_t version;
const wchar_t* mainDllPath;
HMODULE mainDllHandle;
} mbSettings;
方法二:调用接口全局设置
cpp
mbProxy proxy = {
// 自行设置内容, mbProxy 定义见上
};
mbSetProxy(nullptr, &proxy);
为单独的 webview 设置
cpp
mbWebView mbView = mbCreateWebWindow(MB_WINDOW_TYPE_POPUP, nullptr, 0, 0, 800, 600);
// ...
mbProxy proxy = {
// 自行设置内容, mbProxy 定义见上
};
mbSetProxy(mbView, &proxy);
或者
cpp
mbWebView mbView = mbCreateWebWindow(MB_WINDOW_TYPE_POPUP, nullptr, 0, 0, 800, 600);
// ...
mbProxy proxy = {
// 自行设置内容, mbProxy 定义见上
};
mbSetViewProxy(mbView, &proxy);
mbSetProxy
和 mbSetViewProxy
的区别是,如果 mbSetProxy
第一个参数传空则全局设置,而 mbSetViewProxy
第一个参数传空没有效果