運用VB.net建立Web服務訪問程式

來源:互聯網
上載者:User
web|web服務|程式|建立|訪問

一.介紹:

  Web服務是微軟提出的基於互連網的開發模型,一經提出即收到了業界的廣泛推從。從目前的發展趨勢來看,Web服務將引領下一代互連網的潮流。它是建立可互操作的分布式應用程式的新平台,是基於網路的、分布式的模組化組件。它執行特定的任務,遵守具體的技術規範,這些規範使得Web服務能與其他相容的組件進行互操作。

  本文就向大家介紹如何運用VB.net來調用Google的Web服務,也就是如何在自己的應用程式中添加訪問Google的服務的功能。文章中介紹的功能包括了Google提供的搜尋功能、緩衝功能以及拼字檢查功能。我們運用的開發工具是VS.net中的VB.net。

  二.開發步驟:

  第一步,下載開發人員工具箱(Developer's Kit)並申請一個許可證密鑰(License Key)。你可以到http://www.google.com/apis/去下載開發人員工具箱,裡麵包含了有關Google的Web服務的詳細說明文檔,你可以通過參考該文檔開發出許多進階的應用。在下載完畢後,你必須申請一個許可證密鑰,否則你無法訪問其Web服務。

  第二步,建立一個VB.net項目。開啟VS.net,建立一個項目,在項目類型中選擇"Visual Basic項目",在模板中選擇"Windows應用程式",同時不妨命名為"GoogleWebService"。

  第三步,添加Web引用。在"方案總管"中選擇該項目,並在右鍵菜單中選擇"添加Web引用",在彈出的對話方塊的地址欄中填上Web服務的描述的地址URL(http://api.google.com/GoogleSearch.wsdl),圖示如下:



圖1

  在添加Web引用後,我們就可以像是在本機上一樣調用其中的各種方法(Method)來為我們的程式服務,我們還可以像是在編寫本機程式一樣運用智能感知等VS.net開發工具的功能。在Web引用被成功添加後,"方案總管"中就多了相應的Web服務引用了,圖示如下:


圖2


  同時,因為我們建立的項目是一個Windows應用程式,所以我們還得添加引用:System.Web.Services,這樣我們才可以實現對Web服務的調用功能的開發。

  第四步,開發程式的主介面。你可以按照如下方式設計程式的主介面:


圖3

 第五步,編寫程式碼。下面我們為每個按鈕的編寫其訊息相應函數。

  對於第一個按鈕"開始搜尋!",它的訊息響應函數完成的功能如下:首先建立一個Google搜尋的對象,然後根據你所輸入的許可證密鑰以及你要搜尋的內容調用doGoogleSearch函數。不過我們在程式中只運用了該函數的一種簡單的搜尋功能,你可以試著使用不同的參數來完成更進階的搜尋功能。最後從搜尋的結果中分離出返回的結果數這一項並顯示在程式的表單中。該函數的實現如下:

Private Sub btnSearch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSearch.Click
' 建立一個Google搜尋對象
 Dim s As New Google.GoogleSearchService()
 Try
 ' 調用搜尋功能
  Dim r As Google.GoogleSearchResult = s.doGoogleSearch(txtLicenseKey.Text,   txtSearchTerm.Text, 0, 1, False, "", False, "", "", "")
  ' 從搜尋的結果中分離出返回的結果數這一項並顯示在程式的表單中
  Dim estResults As Integer = r.estimatedTotalResultsCount
  lblSearchResults.Text = CStr(estResults)
 Catch ex As System.Web.Services.Protocols.SoapException
  MsgBox(ex.Message)
 End Try
End Sub

  對於"緩衝查詢!"這個按鈕的訊息響應函數,其完成的功能是擷取快取頁面面的大小。它調用的方法為doGetCachedPage,通過該方法,程式可以獲得快取頁面面的位元組數,然後根據該位元組數顯示快取頁面面的大小。 其函數實現代碼如下:

Private Sub btnCache_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCache.Click
' 建立一個Google搜尋對象
 Dim s As New Google.GoogleSearchService()
 Try
  ' 調用doGetCachedPage方法並擷取緩衝位元組數
  Dim bytes() As System.Byte = s.doGetCachedPage(txtLicenseKey.Text, txtCachePage.Text)
  ' 顯示快取頁面面的大小
  lblCacheResults.Text = CStr(bytes.Length)
 Catch ex As System.Web.Services.Protocols.SoapException
  MsgBox(ex.Message)
 End Try
End Sub

  對於"拼字檢查!"按鈕的訊息響應函數,它完成的功能則是對使用者的輸入進行拼字檢查。使用過Google搜尋功能的人都知道,如果你一不小心輸入錯誤的話,它會提示你正確的輸入,這是因為它調用了內部的拼字檢查功能。比如,我在Google中輸入"Comparision of Chinese culture and western culture"的話,Google會提示我是否要搜尋"Comparison of Chinese culture and western culture",一經它的提醒我才發現我把"Comparison"給拼錯了。所以該按鈕的訊息響應函數調用了doSpellingSuggestion方法,調用之後如果獲得了相應的拼字建議,則往往是你發生了拼字方面的錯誤了,並顯示在表單的文字框控制項中。其函數的代碼實現如下:

Private Sub btnSpell_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSpell.Click
' 建立一個Google搜尋對象
 Dim s As New Google.GoogleSearchService()
 Try
 ' 調用doSpellingSuggestion方法
  Dim suggestion As String = s.doSpellingSuggestion(txtLicenseKey.Text, txtSpell.Text)
  ' 如果右拼字建議的資訊,則顯示之
  If suggestion Is Nothing Then
   lblSpellResults.Text = ""
  Else
   lblSpellResults.Text = suggestion
  End If
 Catch ex As System.Web.Services.Protocols.SoapException
  MsgBox(ex.Message)
 End Try
End Sub


  第六步:運行程式。程式的運行結果圖示如下:


圖4


   三.小結:

  本文介紹了如何運用VB.net來訪問Google的Web服務的方法,當然你也可以用其他的語言,比如C#或是Java來開發此類應用。通過添加Web服務的引用,開發人員可以像是開發本機程式一樣的開發Web服務程式,所以說運用VS.net開發工具大大簡化了開發人員的工作。不過本程式只是一個簡單的樣本程式,要是你要開發出更進階的應用,不妨去參考開發人員工具箱中的詳細說明文檔。通過它,我想你一定可以開發出很好的Google的Web服務的應用。



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。