我根据书上的例子写了一个程序,怎么看我下载下来的网页呢?有一位老师说要把下载下来的数据读成文件,我应该如何做呀?我把源程序留下,请高手帮忙!!!!!
#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) |