От: | Flamer | http://users.livejournal.com/_flamer_/ | |
Дата: | 04.03.03 10:18 | ||
Оценка: | 33 (4) |
Не забудьте подключить к проекту urlmon.lib!
//---------------------------------------------------------------------------
#include <urlmon.h>
#include <wininet.h>
#include <string>
//---------------------------------------------------------------------------
void SetProxyInfo(
const std::string& ProxyAddress
, long ProxyPort
, const std::string& ProxyLogin = ""
, const std::string& ProxyPassword = ""
)
{
INTERNET_PROXY_INFO ipi;
ipi.lpszProxyBypass = NULL;
char strPort[33] = {0};
ltoa(ProxyPort,strPort,10);
if( ProxyAddress.empty() )
{
ipi.dwAccessType = INTERNET_OPEN_TYPE_DIRECT;
ipi.lpszProxy = NULL;
}
else
{
std::string Proxy;
if( !ProxyLogin.empty() )
Proxy = ProxyLogin + ":" + ProxyPassword + "@";
Proxy = Proxy + ProxyAddress + ":" + std::string(strPort);
ipi.dwAccessType = INTERNET_OPEN_TYPE_PROXY;
ipi.lpszProxy = Proxy.c_str();
}
UrlMkSetSessionOption(INTERNET_OPTION_PROXY,&ipi,sizeof(INTERNET_PROXY_INFO),0);
}
//---------------------------------------------------------------------------
SetProxyInfo("proxy.ip.or.string",1234);
SetProxyInfo("",0);