Username: Password:

使用Google的Web Service-.NET教程,Web Service研发
来源:作者: 发布时间:2007-12-27 05:48:17

一、简介
google搜索引擎提供了基于soap的web service。这意味着不同的研发语言、研发环境都能够使用这种服务,另外,google为了简化java程式员的研发,他还提供了一套java api接口,用于访问web serivce,这使得研发一套支持google搜索功能的程式变得十分容易。研发人员能够将google的搜索功能嵌入到他们的应用程式当中。本文将介绍怎样使用这些java api,连同怎样使用google的web service。
现在,google的api还是处于beta测试阶段,因此,在api的使用上更有一些限制。例如,使用这些api需要申请一个帐号。对于免费申请的帐号,为了防止研发人员不正当的使用,限制每个帐号、每天最多只能查询1000次。现在,google还没有提出正式的运营模式和收费方式。
google api现在主要提供三种服务,分别如下:
1)搜索服务。用户提交一个搜索内容请求,google服务器将查找超过20亿的网页内容,并且将满足用户需求的目标返回给用户,一般来说这种处理只需要几秒的时间。
2)缓存服务(cache)。用户提交一个url,google服务器将返回搜索器访问该url的最新记录。这样,用户很容易复用google的搜索成果。
3)拼写检查。该功能用于检查用户的查询请求是否有效。用户提交一个检查内容,google服务器将返回有效的、最接近该内容的查询请求,返回的查询请求将符合google的查询规则。

二、相关准备工作
为了研发基于java的程式,我们需要作如下准备工作。
1)建立java研发环境,java sdk 1.3.1 或更新的版本。相关地址http:.//java.sun.com/j2se
2)下载google api的jar文档,googleapi.jar。研发人员能够到http://www.google.com/apis下载。
3)申请google访问帐号,现在google支持免费申请的方式,用户需要使用一个email帐号来获取新帐号。注意,现在免费帐号支持每天1000条的最大查询量。申请地址:http://www.google.com/apis。
4)(可选) 假如用户需要通过java程式直接发送soap请求,研发人员需要下载相关的java 软件包,jaxm。下载地址:http://java.sun.com/xml

三、soap的使用
google提供了基于soap的web service,因此用户能够向google服务器提交soap的查询请求,而后google服务器将处理这些请求,并返回soap格式的查询结果。以下就是个查询请求和查询结果。
查询:例如,有一个查询请求,请求类型为搜索,查询的内容为“world cup”,帐号为“123456789”,如下为该查询的一个例子。

xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/1999/xmlschema-instance"
xmlns:xsd="http://www.w3.org/1999/xmlschema">

soap-env:encodingstyle=
"http://schemas.xmlsoap.org/soap/encoding/">
123456789
"world cup"
0
10
true

false

latin1
latin1



查询结果:假如我们执行以上查询,能够得到如下的查询结果。其中,查询结果总共有约2660000记录,使用时间为0.125012秒。item标记代表一条查询结果,在第一条查询结果中,网站的url为http://www.fifaworldcup.com。本例子仅仅列举了一条查询结果。


xmlns:xsi="http://www.w3.org/1999/xmlschema-instance"
xmlns:xsd="http://www.w3.org/1999/xmlschema">

xmlns:ns1="urn:googlesearch"
soap-env:encodingstyle="http://schemas.xmlsoap.org/soap/encoding/">

false

2660000

xmlns:ns2="http://schemas.xmlsoap.org/soap/encoding/"
xsi:type="ns2:array"
ns2:arraytype="ns1:directorycategory[0]">

0.125012
xmlns:ns3="http://schemas.xmlsoap.org/soap/encoding/"
xsi:type="ns3:array" ns3:arraytype="ns1:resultelement[10]">


10k






true


the official site from fifa, made by yahoo. daily news updates and loads of relevant information.


http://www.fifaworldcup.com

<br>2002 fifa <b>world</b>b>cup</b>(tm) <br>

...

10


1
false

"science fiction"







四、使用google api
google为了提高研发人员的研发效率,提供了一套基于java的api,用于直接访问google服务器。该api包装了google的web service,使用起来比web service更加方便。该api 包主要包括如下几个类:
googlesearch :该类封装了对于google服务器的访问,支持搜索和缓存(cache)功能。
googlesearchdirectorycategory :表示google中的一个分类目录
googlesearchfault :该类为exception的一个子类,用于表示api使用的错误。
googlesearchresult :该类封装了搜索的结果。
googlesearchresultelement:该类表示搜索结果中的每一条记录。

如下是个例子的源代码,用于一个简单查询,查询请求为”world cup”,查询的帐号为”123456789”。该例子将把查询结果打印出来。假如用户需要近一步解析查询结果,能够使用googlesearchresult和googlesearchresultelement类。

import com.google.soap.search.*;
import java.io.*;

public class googleapitest {

public static void main(string[] args) {

string clientkey="123456789";
string query="word cup";
// create a google search object, set our authorization key
googlesearch s = new googlesearch();
s.setkey(clientkey);
try {
s.setquerystring(query);
googlesearchresult r = s.dosearch();
system.out.println("google search results:"+t.tostring());
} catch (googlesearchfault f) {
system.out.println("the call to the google web apis failed:"+f.tostring());
}
}
}

五、总结
google搜索引擎提供了搜索、缓存和拼写简单功能,通过web service能够在不同的平台、不同的语言使用,为了简化soap的研发,google还提供了包装了soap服务的java api,这也大大提高了java程式员的研发效率。随着搜索内容、形式的丰富,更多的研发人员能够将这种技术运用在自己应用程式中,扩展应用程度的功能。

喜欢本文,那就收藏到:

    Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网
相关评论  我也要评论
还没有关于此文章的相关评论!
  • 昵称: (为空则显示guest)
  • 评论分数: ★ ★ ★★★ ★★★★ ★★★★★
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
  • 导航
    赞助商
    文章类别
    订阅