代理服务器 (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;
}
关于 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;
}
相关文章推荐
- ProxyCap +ccproxy 组合使用Socks5 实现代理服务器
- GeckoFx (8)使用代理服务器(proxy)请求 URL
- proxy代理服务器的使用
- 使用Nodejs 的http-proxy 模块做代理服务器的尝试
- ProxyCap +ccproxy 组合使用Socks5 实现代理服务器
- [Python]pythonProxy 实现代理服务器详解
- Apache负载均衡设置方法 mod_proxy使用介绍
- 如何使用代理服务器上网,从基础到高手--转
- spring中BeanNameAutoProxyCreator和AnnotationAwareAspectJAutoProxyCreator两种AOP代理方式使用总结
- Java使用代理服务器
- 使用Nginx反向代理和proxy_cache缓存搭建CDN服务器加快Web访问速度
- extjs proxy api使用 sync同步时后台接受数据方法
- filter中的DelegatingFilterProxy使用事例
- 使用VB实现邮箱自动注册(二):修改代理服务器
- spring中BeanNameAutoProxyCreator和AnnotationAwareAspectJAutoProxyCreator两种AOP代理方式使用总结
- 使用JAVA中的动态代理实现数据库连接池(载自:http://www.ibm.com/developerworks/cn/java/l-connpoolproxy/)
- npm模块之http-proxy-middleware使用教程(译)
- 使用Proxy模拟一个最简单的数据库Connection池和PrepareStatment池
- centos7 docker使用https_proxy 代理配置
- 使用Nginx的proxy_cache缓存功能取代Squid