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

利用VB訪問Internet

編輯:VB綜合教程

  當前, 有許多構造模塊可以幫助用戶創建名為超客戶端(rich client)的Internet應用其中包括Visual Basic(以下簡稱VB)的ActiveX 控件集合。它們可以提供SMTP和POP郵件服務、FTP、Newsgroup和Web訪問等功能。另外,利用OLE也可以實現Web訪問的自動化。本文向大家介紹這兩種方法。

  在應用中嵌入ActiveX控件

  利用Crescent的Internet Toolpak(Internet 工具包)符合HTTP 協議的控件,可以將VB應用連接到Web站點,向站點傳送數據,並從站點獲取HTML頁面。Crescent HTTP控件不能實際顯示出下載的HTML頁面 ,但能使應用程序以字符串的形式使用頁面數據。例如,如果服務器產生一個名叫Myresult.html的HTML文件答復來自客戶端的請求,客戶端應用能夠通過與服務器建立的Crescent Active X連接來獲取並下載這個文件。建立連接的代碼段如下:

  CIHTTP1.HostName="www.ddvip.com"

  CIHTTP1.URL="resul tsmyresult.html"

  CHTTP.ParseIncomingData = True

  CIHTTP1.Conn ectToServer

  一旦ActiveX控件與服務器建立連接,它就會觸發HTTPServerConnection事件。這時,應用程序發出命令CIHTTP1.GET,檢索RL屬性中指定的頁面,然後該控件激活FileClosed事件取回指定的頁面 。應用程序通過ActveX的屬性HTMLPageText WithTags(主頁不嵌有 HTML代碼時用屬性HTMLPageTextWithOutTgs) 讀頁面文本。代碼如下 :

  mytext= CIHTTP1. HTMLPageTextWithTags

  如果不想用控件下載 整個主頁,可以通過控件的PacketReceived事件的Packet參數快速掃 描頁面數據。每當控件接受到服務器的數據後都會激活PacketReceived事件。

  另外,客戶端應用還可以使用HTTP控件提取來自標准浏覽器的Web頁面數據。例如,ActveX控件在幕後與Web建立連接並下載正在發布的頁面,讓傳統的客戶端應用不斷接收最新Wb信息,更改原有內容。

  為進一步簡化處理,在ActiveX控件與Web頁面相連之前需設置好屬性。Crescent的HTT控件還可以把下載頁面的URL地址、圖像文件的地址和所有HTML命令文件分別添加到指定的三個列表框中。

  用OLE實現Web訪問的自動化

  除了ActiveX控件以外,還有一種方法可以實現應用程序與Web的交互自動化,這就是OL自動化,即利用OLE Automation建立傳統應用, 再通? 覽器的OLE Automation服務器接口進行自動Web連接。Netscape Navigator 和Microsoft Internet Explorer 3.0 以上版本都 支持OLE Automation。

  Netscape Navigator的OLE Automation接口是專為這一目的而 設計的。例如,通過OL Automation接口讓Navigator打開一個Web頁面 ,它不會在自身的浏覽器窗口中顯示這個頁面,而是下載該頁面的內容 ,復制到服務器對象的數據緩沖區中,讓客戶端的應用程序去訪問這些內容。

  例如,假設需要Navigator在Excel中打開一個Web頁面,首先必須 使用Excel的"引用"對話框引用Navigator程序目錄中的Netscape.TLB 庫,然後把Navigator對象作為一個實例,並完成打開頁面的功能。代碼如下:

  Dim Nav as Object, result as Boolean

  Dim url as String

  Const urlGet =0

  Const urlPost=1

  url=http://www.ddvip.com/index.html

  set Nav=CreatObject("netscape.netork")

  result=Nav.Open(url,urlGet,",",0," ")

  如果自動化對象的屬性IsFinished設置為True,就可以通過對象緩沖區仔細處理頁面中的內容.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved