程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 利用WinInet開發Internet程序

利用WinInet開發Internet程序

編輯:關於C語言

 

  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 使用文本數據
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved