这是摘自msdn中的一个利用代理下载网络文件的例子。
CString GeHttptFile(const char *url)
{
CString szContent;
char strProxyList[MAX_PATH], strUsername[64], strPassword[64];
//in this case "proxya" is the proxy server name, "8080" is its port
strcpy(strProxyList, "proxya:8080");
strcpy(strUsername, "myusername");
strcpy(strPassword, "mypassword");
DWORD dwServiceType = AFX_INET_SERVICE_HTTP;
CString szServer, szObject;
INTERNET_PORT nPort;
AfxParseURL(url, dwServiceType, szServer, szObject, nPort);
CInternetSession mysession;
CHttpConnection* pConnection;
CHttpFile* pHttpFile;
pConnection = mysession.GetHttpConnection(szServer,
INTERNET_FLAG_KEEP_CONNECTION,
INTERNET_INVALID_PORT_NUMBER,
NULL, NULL);
pHttpFile = pConnection->OpenRequest("GET", szObject,
NULL, 0, NULL, NULL,
INTERNET_FLAG_KEEP_CONNECTION);
//here for proxy
INTERNET_PROXY_INFO proxyinfo;
proxyinfo.dwAccessType = INTERNET_OPEN_TYPE_PROXY;
proxyinfo.lpszProxy = strProxyList;
proxyinfo.lpszProxyBypass = NULL;
mysession.SetOption(INTERNET_OPTION_PROXY, (LPVOID)&proxyinfo, sizeof(INTERNET_PROXY_INFO));
pHttpFile->SetOption(INTERNET_OPTION_PROXY_USERNAME, strUsername, strlen(strUsername)+1);
pHttpFile->SetOption(INTERNET_OPTION_PROXY_PASSWORD, strPassword, strlen(strPassword)+1);
pHttpFile->SendRequest(NULL);
DWORD nFileSize = pHttpFile->GetLength();
LPSTR rbuf = szContent.GetBuffer(nFileSize);
UINT uBytesRead = pHttpFile->Read(rbuf, nFileSize);
szContent.ReleaseBuffer();
pHttpFile->Close();
delete pHttpFile;
pConnection->Close();
delete pConnection;
mysession.Close();
return szContent;
}
ASSERT(m_astrProxies.GetSize()>0);
CString strProxy=m_astrProxies[m_iProxyIndex];
if(strProxy.IsEmpty())
{
INTERNET_PROXY_INFO ipi;
ipi.dwAccessType=INTERNET_OPEN_TYPE_DIRECT;
ipi.lpszProxy=NULL;
ipi.lpszProxyBypass=NULL;
UrlMkSetSessionOption(INTERNET_OPTION_PROXY,&ipi,sizeof(ipi),0);
}
else
{
INTERNET_PROXY_INFO ipi;
ipi.dwAccessType=INTERNET_OPEN_TYPE_PROXY;
ipi.lpszProxy=strProxy;
ipi.lpszProxyBypass=NULL;
UrlMkSetSessionOption(INTERNET_OPTION_PROXY,&ipi,sizeof(ipi),0);
}
SetOption(INTERNET_OPTION_PROXY_USERNAME, (LPVOID)szID, ::lstrlen(szID));
SetOption(INTERNET_OPTION_PROXY_PASSWORD, (LPVOID)szPassword, ::lstrlen(szPassword));
vue post下载
PiNetwork – 国外手机挖矿,目前国外热度很高
iview table expand 单击当前行控制
iview 开关变化时控制状态的变更
CSS伪元素before,after制作左右横线中间文字效果
idea 修改代码自动编译
如何获取微信公众号的关注链接?
震惊,微信小程序可以设置网络字体!真香
小程序字体大小怎么设置,小程序修改字体样式方法