Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2341169
  • 博文数量: 816
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-17 17:57
文章分类

全部博文(816)

文章存档

2011年(1)

2008年(815)

分类:

2008-12-17 18:08:07

我根据书上的例子写了一个程序,怎么看我下载下来的网页呢?有一位老师说要把下载下来的数据读成文件,我应该如何做呀?我把源程序留下,请高手帮忙!!!!!
#include
#include
#include
#include
#include
#pragma comment(lib, "ws2_32.lib")
using namespace std;
         
int main()
{                                          
     //初始化MFC并在失败时显示错误;开始一个HTTP的段;
     if (!AfxWinInit(::GetModuleHandle(NULL),NULL, ::GetCommandLine(), 0))
{
cout<<"致命错误:MFC初始化失败\n"< }
else
{
//创建一个新的会话,建立一个类:CinternetSession,来初始化WinINet并连接服务器。
CInternetSession * pInetSesn = new CInternetSession("hello");
//与HTTP服务器连接;
CHttpConnection* pConn = NULL;
//建立HTTP连接
pConn = pInetSesn->GetHttpConnection("202.112.14.148",(INTERNET_PORT)80, NULL, NULL);//

if(pConn == NULL)//
{
cout<<"Connection failed!"< }
else
{
try
{
//发送接收文件请求
     CHttpFile* pFile = pConn->OpenRequest(CHttpConnection::HTTP_VERB_GET,
   "web/default.aspx",NULL,1,NULL,NULL, //// 目标文件处应该写什么?
    INTERNET_FLAG_EXISTING_CONNECT | INTERNET_FLAG_NO_AUTO_REDIRECT);
     //添加请求头信息
     pFile->AddRequestHeaders("Accept:*/*\r\nAccept-Language: zh-cn\r\nAccept-Encoding: gzip, deflate\r\nConnection: Keep-Alive");
         //发送请求
                 pFile->SendRequest(NULL,0,NULL,0);


                 //读文件,调用CInternetFile::Read函数
                 //获取HTTP请求信息,调用CHttpFile::QueryInfo函数


                 DWORD dwRet;
                 char szBuff[1023];
  
     pFile->QueryInfoStatusCode(dwRet);
                 CString strPage;
     if (dwRet == HTTP_STATUS_OK)
{
memset(szBuff,0,1023);
     UINT nRead = pFile->Read(szBuff, 1023);////
     strPage=szBuff;
     while (nRead > 0)
{
memset(szBuff,0,1023);
     nRead = pFile->Read(szBuff,1023);
     strPage+=szBuff;///////////什么意思啊?在哪个地方看的到下下来的网页
                         //读取文件
}
}
//显示完成信息
     cout<<"Succeed."< }

     catch (CInternetException*pEx)
{
//出现异常时显示异常信息
     pEx->ReportError();
     pEx->Delete();
}
}

if (pInetSesn != NULL)
{
pConn->Close();
}
}
//调用GETCHAR函数使程序执行完后不至于立即退出以便查看输出结果
getchar();
return 0;
}

--------------------next---------------------

阅读(1263) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~