//设置代理
//参数分别为:代理服务器地址,端口号,用户名,密码
//用到的变量说明:
//sess为CInternetSession变量
//pConnect为CHttpConnection变量
//pFile 为CHttpFile变量
int TMTNHTTPProtocol::SetProxy(char* proxyAddr, char* proxyPort, char* proxyUser, char* proxyPassword)
{
char tmp[1024];
INTERNET_PROXY_INFO proxyinfo;
try {
memset(tmp, 0, 1024);
proxyinfo.dwAccessType = INTERNET_OPEN_TYPE_PROXY;
strcat(tmp , proxyAddr); strcat(tmp , ":");
strcat(tmp , proxyPort);
proxyinfo.lpszProxy = tmp;
proxyinfo.lpszProxyBypass = NULL;
if (! sess.SetOption(INTERNET_OPTION_PROXY, (LPVOID)&proxyinfo, sizeof(INTERNET_PROXY_INFO)))
{
return 0;
}
pConnect = sess.GetHttpConnection("www.baidu.com", INTERNET_FLAG_NO_AUTO_REDIRECT, 80);
pFile = pConnect->OpenRequest(CHttpConnection::HTTP_VERB_POST, pUrl);
if (!pFile->SetOption(INTERNET_OPTION_PROXY_USERNAME, proxyUser, strlen(proxyUser) + 1)) { return 0; }
if (!pFile->SetOption(INTERNET_OPTION_PROXY_PASSWORD, proxyPassword, strlen(proxyPassword) + 1)) { return 0; }
return 1;
} catch(...) { return 0; } }