謝了,我這裡有個程序,用socket連到proxy,然後發送命令,結果老是返回 HTTP/1.1 502 proxy error氣死我了。 大家幫幫忙吧。
解决方案 »
- 超音速启动工具升级啦,增加贴边与透明设置功能
- mfc如何实现点击打开按钮,变成关闭,再点击又转换成打开
- 画一个标尺
- 菜鸟问题!! 我想在视图类中调用主框架的成员变量或函数
- 求助!一个大家可能经历很多次的问题,但是我不会,进来看看好吗?
- 怎样直接打开保存的文件?
- 怎样将CWnd 转换为HWnd??
- 我做了一个CStatic的派生类,如下使用,为什么它的OnLButtonDown会无效呢?
- 我的显示桌面给我删了,怎么样做一个?
- 关于显示图片的问题
- 谁有《Windows 95 程式设计指南 Windows 95 : A Developer's Guide 》一书的原代码?
- 关于开发设备驱动程序的几个问题?
//--------------------------------------------------------------------------------
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 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;
}
有问题,常来CSDN呦谢谢
http://www.codeguru.com/internet/http_proxy.shtml