您的位置:首页 > 其它

代理服务器 (proxy) 的使用

2008-06-18 23:04 369 查看
代理服务器的使用 (proxy)

关于 proxy 的用处,我就不多说了,大家心照不宣。如果使用VB6 的 Inet Control, proxy 的设置则极为简单:

objInet.AccessType = icNamedProxy
objInet.Proxy = Trim(proxyAddress.Text)
objInet.Protocol = icHTTP

在 mfc 中也不难:

bool CProxySetting::SetHttpProxy(LPCTSTR strProxy)
{
::INTERNET_PROXY_INFO proxyInfo;
CString m_strHttpProxy, s;
s = strProxy;
s.Trim();

if (s != "") {
if (s.Find(".")<0 || s.Find(":")<0)
return false;
m_strHttpProxy = CString("http=") + strProxy;
proxyInfo.dwAccessType = INTERNET_OPEN_TYPE_PROXY;
proxyInfo.lpszProxy = m_strHttpProxy;
proxyInfo.lpszProxyBypass = "<local>";
}
else {
proxyInfo.dwAccessType = INTERNET_OPEN_TYPE_DIRECT;
proxyInfo.lpszProxy = NULL;
proxyInfo.lpszProxyBypass = NULL;
}
bool bResult = ::InternetSetOption(NULL, INTERNET_OPTION_PROXY, &proxyInfo, sizeof(proxyInfo)) == TRUE;
if (bResult)
::MessageBox(NULL, "The proxy settings was updated sucsessfully", "Proxy", MB_OK | MB_ICONINFORMATION);
return bResult;

}

bool CProxySetting::GetHttpProxy(CString& s)
{
char buffer[128];
DWORD dwSize = 128;
INTERNET_PROXY_INFO* pProxyInfo = (INTERNET_PROXY_INFO*) buffer;

bool bResult = ::InternetQueryOption(NULL, INTERNET_OPTION_PROXY, &buffer, &dwSize)==TRUE;
if (bResult) {
if (pProxyInfo->dwAccessType == INTERNET_OPEN_TYPE_DIRECT)
s = "" ;
else {
s = pProxyInfo->lpszProxy;
int found = s.Find("http=");
if (found >= 0)
s.Delete(found, 5);
}
}
return bResult;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: