M$所提供的WinInet开发包是作为ActiveX技术中的一部分,后来MS对WinInet API进行了包装并提供了相应的MFC类。WinNet开发包的作用是提供了对HTTP FTP Gopher协议的支持,使开发者在开发Internet程序时避免编写底层协议相关的代码。此外WinInet很多功能都是与IE有联系的,比如说可以使用IE中的设置和使用IE缓存中的数据。本节主要将内容集中在HTTP协议的使用上。
WinInet中的CInternetSession是管理会话的类,一般来讲如果要使用WinInet功能都需要建立一个会话,然后在该会话的基础上使用数据存取功能。CInternetSession的构造函数中接收四个参数 CInternetSession( LPCTSTR pstrAgent = NULL, //应用程序名,可以自己定义
DWORD dwContext = 1, //上下文标记,如果使用回调功能时这个值将给传送给回调函数
DWORD dwAccessType = INTERNET_OPEN_TYPE_PRECONFIG, //
LPCTSTR pstrProxyName = NULL, //CERN代理服务器地址,一般设置为NULL
LPCTSTR pstrProxyBypass = NULL, //代理服务器地址
DWORD dwFlags = 0 );//标记,一般设置为0
dwAccessType可以为:
- INTERNET_OPEN_TYPE_PRECONFIG 使用IE中的连接设置
- INTERNET_OPEN_TYPE_DIRECT 直接连接到服务器
- INTERNET_OPEN_TYPE_PROXY 通过代理服务器进行连接
当dwAccessType为INTERNET_OPEN_TYPE_PROXY时指明代理服务器地址。
dwFlags可以为:
- INTERNET_FLAG_DONT_CACHE 不在缓存中保存取得的内容
- INTERNET_FLAG_OFFLINE 脱机方式
在建立会话后就可以利用CInternetSession::OpenURL打开一个URL,并读取数据,函数原型为:
CStdioFile* OpenURL( LPCTSTR pstrURL, //文件URL地址
DWORD dwContext = 1, //上下文ID
DWORD dwFlags = INTERNET_FLAG_TRANSFER_ASCII, //标记
LPCTSTR pstrHeaders = NULL, //发送到服务器的数据头
DWORD dwHeadersLength = 0 );//发送到服务器的数据头长度
dwFlags可以为:
- INTERNET_FLAG_RELOAD 强制重读数据
- INTERNET_FLAG_DONT_CACHE 不保存到缓存
- INTERNET_FLAG_TRANSFER_ASCII 使用文本数据
-
-
<script type="text/java script">BAIDU_CLB_fillSlot("771048");
-
点击复制链接 与好友分享!
回本站首页
<script>
function copyToClipBoard(){
var clipBoardContent=document.title + '\r\n' + document.location;
clipBoardContent+='\r\n';
window.clipboardData.setData("Text",clipBoardContent);
alert("恭喜您!复制成功");
}
<script type="text/java script" id="bdshare_js" data="type=tools&uid=12732">
<script type="text/java script" id="bdshell_js">
<script type="text/java script">
var bds_config = {'snsKey':{'tsina':'2386826374','tqq':'5e544a8fdea646c5a5f3967871346eb8'}};
document.getElementById("bdshell_js").src = "http://bdimg.share.baidu.com/static/js/shell_v2.js cdnversion=" + Math.ceil(new Date()/3600000)