由Web Service應用看資訊的一站式服務

2021-05-09 12:23:04 字數 2009 閱讀 7264

當初玩開心網的時候,每天要種菜、收菜、偷菜,要不停的換車位,耗費大量的時間,在同學那裡看到了開心網的外掛程式,可以自動進行開心網的操作,真是方便多了。但這種外掛程式不是合法的,其實是用桌面程式模擬了人和瀏覽器,開發這種程式的難點是獲取來回傳送的資料格式,當然資料格式開心網不會對外提供,這就需要開發人員破解。安裝乙個sniffer或者wireshark(ethereal)等網路抓包工具,在瀏覽器中進行開心網的偷菜等操作,就可以在抓包工具中截獲來回傳送的html文字,進行分析之後,可以獲得資料格式,然後在程式中模擬http客戶端,以破解的資料格式傳送和接受資料,就可以開發出類似開心網的外掛程式了。

如果是說開心網的外掛程式式是法的,但也有合法的例子。今天安裝了谷歌金山詞霸2.0正式版,發現在查詞的結果裡面有谷歌的搜尋內容(如下圖)。經過測試發現,當查乙個詞時,軟體還訪問了谷歌字典(

http://www.google.cn/dictionary)和谷歌金山詞霸漢語站(http://g.hanyu.iciba.com)等站點,資料格式有xml和html等,把這些從網路獲取的資訊也顯示在詞霸查詢結果裡。這是金山軟體與google(谷歌)聯合開發的,訪問了web上的資訊,當然這種訪問方式是合法的。

圖1谷歌金山詞霸2.0正式版的搜尋結果中含有谷歌搜尋的內容

正是谷歌金山詞霸這樣把各處資訊集中到一處的一站式服務方式,極大了方便了軟體的使用者,當然也提高了使用者的滿意度,使得更多的人來使用軟體,從而軟體提供商也獲得豐厚的利潤。

對於越來越挑剔的使用者,資訊融合是必然的趨勢。從以前的資料倉儲技術,到web service技術,都在盡力把分散的資訊集中起來,為使用者提供一站式的資訊服務。而資訊的發布者則可以從整合的程式裡擴大自己的影響力,例如上面的谷歌金山詞霸,通過這個軟體使谷歌為更多的人所使用,其影響力也就變得更大了。在這種趨勢下,企圖把自己封閉起來夜郎自大式的做法只會被拋棄,於是越來越多的**提供程式設計介面,叫做openapi,方便程式的開發者通過這些api把**提供的資訊整合進去。如果說**以前只能通過瀏覽器來擴大自己的影響力,而現在可以通過桌面應用程式、手機應用程式等方式來擴大影響力。

既然我們的目的是資訊的融合,從技術上能夠達到目的就可以了,從軟體裡面訪問html和web service對終端使用者來說又有什麼區別呢?所有基於web的東西都可以叫做web service,這是一本書裡面所說的。實際真的是這樣,難道程式只能處理web service提供的資訊?用程式解析html不是什麼難題,如上所述,開心網的外掛程式可以開發出來,其他類似處理html的程式也一樣可以開發出來。

畢竟處理html文字不如xml、json等格式的資訊直觀,出於通用性的考慮,以soap web service和rest web service的方式發布服務還是最佳選擇。web service的應用也越來越多了,例如http://www.webxml.cn提供了天氣預報、獲取ip位址所在城市的web服務(不允許商業使用),通過這兩個服務就可以提供與qq裡的天氣預報類似的功能。而且很多**的openapi也是以web service的方式提供的。

雖然web service的應用在蓬勃發展,但web service的客戶端程式卻要承擔一定的風險,如果遇到web service不可用的情況,就不能提供相應的功能了。例如安裝谷歌金山詞霸所在的計算機沒有連網,那就無法使用google搜尋的結果了;如果發布天氣預報的web服務暫時不可用,軟體上的天氣預報就無法提供了。但這些功能對使用者來說都是無關大局的,軟體沒有這些功能可以照常使用。

web service不可用的情況,對於業務應用系統來說就不是這麼隨意的了。例如遇到有人攻擊dns伺服器造成大面積網路癱瘓的時候,web service就不可用了,從而造成系統的功能不可用,就要暫停對應的業務,這造成的影響和損失可能是巨大的。這也就是企業對上soa系統謹慎的原因。

大量使用web服務的程式可能是脆弱的,對企業應用來說有一定的風險,但對個人使用者來說不是什麼大不了的事,服務不可用,可以等等再用嘛。隨著大量web service的發布,開發新的軟體時就可以整合已經存在的服務了,而不是重新開發所有的功能。也許在乙個軟體裡面能夠把我們所需要的所有功能整合在裡面,可以瀏覽新聞、檢視天氣預報、收發電子郵件、和qq好友聊天、去開心網偷菜、去**買東西等等,而不需要開啟多個軟體和多個**了。

新建的WebService無法由Ajax呼叫

症狀 老是會提示無法找到物件。解決方法 預設的webservice引入了下列的命名空間 using system using system.data using system.web using system.collections using system.web.services using s...

飛信php介面 web service

code is far away from bug with the animal protecting 神獸保佑,無bug author 鄒顥 zouhao619 gmail.com2014 06 12 class fetion curl模擬http get請求 param string url ...

飛信webservice測試介面

移動飛信web傳送服務介面 移動飛信web服務介面 實現了通過web呼叫發飛信的目的,支援get提交及post表單提交,對介面使用者非常方便簡潔,幾分鐘時間就可以實現你的 整合飛信傳送功能,對沒有安裝飛信客戶端的機器也可以實現傳送,即 直接在ie位址列輸入傳送位址及引數就可以傳送,只要記得本 位址w...