让程序通过一个指定的代理服务器去访问一个指定的网页 让程序A通过一个指定的代理服务器B去访问一个指定的网页C,在网页C那边如果想看客户端ip,只能显示出代理服务器B的ip,根本查不到程序A的ip。请问这样的程序是否要用socket5代理来写?我不是很懂,请大虾指点一二,在线等!!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 谁有这方面源码,http代理和socket5代理,全部分呈上,不够再加! We can find details about Proxy Authentication and Sever Authentication methed in MSDN.Just search for the keyword "INTERNET_OPTION_USERNAME".Here I give a very simple example. It works in my project.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 portstrcpy(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 proxyINTERNET_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;} 怎么找不到这个窗口(FINDWINDOW) 能否对同一个控件同时进行SubClassDlgItem 限制程序在某日期后自动失效,取本地时间又不安全,有没有更好的办法? 关于硬盘底层数据获取转换的问题,请大家帮帮忙 如何获得当前打开ie窗口的网页的IHtmlDocement2接口???? 按钮失效问题,在线等。。。 在c++程序中怎么连接*.obj文件? 数据库中数据查询的问题? outlook开发:从x400地址得到SMTP地址? API Hook "getaddrinfo" 倒致IE不能正常启动 RGB与HSB有换算关系吗? 为什么需要这个函数(当我们利用快捷键)
Just search for the keyword "INTERNET_OPTION_USERNAME".
Here I give a very simple example. It works in my project.
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;
}