分享
 
 
 

使用WinInet类的学习体会

王朝vc·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

下列代码摘录示范了如何创建一个简单的浏览器、下载一张网页、通过FTP操作一个文件和查找一个Gopher文件。它们并不是一个完整的例子,其中不包含异常处理,只是本人最近写程序的一点总结而已。

1 创建一个非常简单的浏览器

#include <afxinet.h>

file://假设URL的名字已经被初始化了

CInternetSession session("My Session");

CStdioFile* pFile=NULL;

file://使用一个URL,并显示一张网页

while(lpszURL=DisplayPage(...))

{

pFile=session.OpenURL(lpszURL);

while(pFile->Read(szBuff,1024)>0)

{

file://读取文件...

}

delete pFile;

}

session.Close();

2 下载一张网页

#include <afxinet.h>

file://假设服务器、端口号和URL名字已经初始化了

CInternetSession session("My Session");

CHttpConnection* pSever=NULL;

CHttpFile* pFile=NULL;

try

{

CString strServerName;

INTERNET_PORT nPort;

pServer=session.GetHttpConnection(strServerName,nPort);

pFile=pServer->OpenRequest(CHttpConnection::HTTP_VERB_GET,strObject);

pFile->AddRequestHeaders(szHeaders);

pFile->SendRequest();

pFile->QueryInfoStatusCode(dwRet);

if(dwRet==HTTP_STATUS_OK)

{

UINT nRead=pFile->Read(szBuff,1023);

while(nRead>0)

{

file://读取文件

}

}

delete pFile;

delete pServer;

}

catch(CInternetException* pEx)

{

file://捕捉WinInet的错误

}

session.Close();

3 通过FTP操作一个文件

#include <afxinet.h>

file://假设服务器名和文件名已经初始化了

CInternetSession session("My FTP Session");

CFtpConnection* pConn=NULL;

pConn=session.GetFtpConnect(lpszServerName);

file://取得文件

if(!pConn->GetFile(pstrRemoteFile,pstrLocalFile))

file://显示一个错误

delete pConn;

session.Close();

4重新获得一个Gopher目录

#include <afxinet.h>

file://假设文件名已经初始化了

CInternetSession session("My Gopher Session");

CGopherConnection* pConn=NULL;

CGopherFileFind* pFile;

pConn=session.GetGopherConnection("gopher://gopher.yousite.com/");

pFile=new CGopherFileFind(pConn);

BOOL bFound=pFile->FindFile(lpszFileToFind);

while(bFound)

{

bFound=pFile->FindNextFile();

file://重新获得找到的文件属性

}

delete pFile;

delete pConn;

session.Close();

当在使用WinInet类库时,用户可以使用应用程序的CInternetSession对象的成员函数

OnStatusCallback来获取状态信息。如果用户继承了其自己的CInternetSession对象,

编写了超越函数OnStatusCallback并允许状态的回调,MFC将把此次国际互连网对话的

所有活动的进度信息作为参数,调用用户的OnStatusCallback函数。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有