设置代理信息
SetProxyInfo
接口描述
该接口用于设置代理信息。
注意事项
- 该接口非必需调用,若不设置,则默认不使用代理。
- 该接口为异步接口,返回值只代表接口是否调用成功,实际业务处理结果在对应的回调函数中返回。
方法定义
HWM_SDK_AGENT_API hwmsdk::HwmErrCode SetProxyInfo(const HwmProxyInfo* proxyInfo);
回调函数
virtual void OnSetProxyInfoResult(hwmsdk::HwmErrCode ret, const char* reason) {};
参数描述
参数 |
是否必须 |
类型 |
描述 |
---|---|---|---|
proxyConfigPolicy |
是 |
代理配置策略。 |
|
server |
否 |
char[] |
代理地址。 |
serverPort |
否 |
unsigned short |
代理端口。 |
account |
否 |
char[] |
代理账号。 |
password |
否 |
char[] |
代理密码。 |
枚举值 |
描述 |
---|---|
HWM_PROXY_CONFIG_POLICY_CUSTOM |
使用具有自定义配置的代理。 |
HWM_PROXY_CONFIG_POLICY_OFF |
不使用代理。 |
HWM_PROXY_CONFIG_POLICY_AUTO |
使用系统代理。 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
/** * 设置代理信息 */ void demoSetProxyInfoDlg::SetProxyInfo() { CString serverCString; CString portCString; CString accountCString; CString pwdCString; m_proxyServerEdit.GetWindowText(serverCString); m_proxyPortEdit.GetWindowText(portCString); m_proxyUserNameEdit.GetWindowText(accountCString); m_proxyPswEdit.GetWindowText(pwdCString); hwmsdkagent::HwmProxyInfo proxyInfo{}; proxyInfo.proxyConfigPolicy = hwmsdkagent::HWM_PROXY_CONFIG_POLICY_CUSTOM; string server = CTools::UNICODE2UTF(serverCString.GetString()); strncpy_s(proxyInfo.server, server.c_str(), HWM_MAX_URL_LEN); // 非自动设置时才设置用户名和密码 int port = _ttoi(portCString); if (port > 65535 || port < 0) { MessageBox(L"端口合法范围为 0 ~ 65535"); return; } proxyInfo.port = port; string account = CTools::UNICODE2UTF(accountCString.GetString()); strncpy_s(proxyInfo.account, account.c_str(), HWM_MAX_ACCOUNT_LEN); string pwd = CTools::UNICODE2UTF(pwdCString.GetString()); strncpy_s(proxyInfo.password, pwd.c_str(), HWM_MAX_PASSWORD_LEN); pwd.assign(pwd.length(), '\0'); int ret = hwmsdkagent::SetProxyInfo(&proxyInfo); memset(&proxyInfo, 0, sizeof(proxyInfo)); if (hwmsdk::HWM_COMMON_SUCCESS != ret) { AfxMessageBox(_T("set proxy info error")); return; } CDialogEx::OnOK(); } |