请教:如何使用CHttpConnection::OpenRequest()方法下载网页?

myspeed2004 2006-05-31 04:44:42
我想使用wininet来下载网页,但是现在存在问题。
部分代码:
CInternetSession session("My Session");
CHttpConnection* pServer = NULL;
CHttpFile* pFile = NULL;
INTERNET_PORT nPort=80;

CString szHeaders = "Accept: audio/x-aiff, audio/basic, audio/midi, audio/mpeg, audio/wav, image/jpeg, image/gif, image/jpg, image/png, image/mng, image/bmp, text/plain, text/html, text/htm\r\n";

CString strServerName="www.yahoo.com", strObject;
pServer = session.GetHttpConnection(strServerName, nPort);
pFile = pServer->OpenRequest(CHttpConnection::HTTP_VERB_GET, strObject);

DWORD dwRet;
char szBuff[1024];

pServer = session.GetHttpConnection(strServerName, nPort);
pFile = pServer->OpenRequest(CHttpConnection::HTTP_VERB_GET, strObject,ri);
pFile->AddRequestHeaders(szHeaders);
pFile->SendRequest();
pFile->QueryInfoStatusCode(dwRet);

if (dwRet == HTTP_STATUS_OK)
{cout<<"in"<<endl;
UINT nRead = pFile->Read(szBuff, 1023);
while (nRead > 0)
{ cout<<szBuff;
nRead = pFile->Read(szBuff, 1023);

}
else cout<<"err";
delete pFile;
delete pServer;


我想问题可能是pServer->OpenRequest(CHttpConnection::HTTP_VERB_GET, strObject)中参数写的
不对,试了好久也不对。

比如我想下载 http://weather.cn.yahoo.com/area.html?city=大连 这个网页 ,但是按照上面
程序下载的是首页的内容而不是我想要的页面。
如何才能正确下载呢,OpenRequest()的参数该如何设置呢,希望大侠们帮帮忙,小弟先谢谢大家了。
...全文
939 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sant 2006-06-28
  • 打赏
  • 举报
回复
如果只想下载网页,可以直接
pFile=(CHttpFile*)session.OpenURL("http://weather.cn.yahoo.com/area.html?city=大连");
UINT nRead = pFile->Read(szBuff, 1023);
while (nRead > 0)
{
cout<<szBuff;
nRead = pFile->Read(szBuff, 1023);
}
coolzdp 2006-06-01
  • 打赏
  • 举报
回复
http://www.cppblog.com/edog/archive/2005/12/06/1554.html
myspeed2004 2006-06-01
  • 打赏
  • 举报
回复
请高手帮忙
WecanHuang 2006-05-31
  • 打赏
  • 举报
回复
up

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧