在数字时代,获取和处理图片变得日益重要。雅虎搜索网络服务(Yahoo! Search Web Services)为开发者提供了一个强大的工具,允许他们通过编程方式使用雅虎搜索引擎进行搜索。尽管雅虎SDK目前支持Perl、Python、PHP、Java、JavaScript和Flash,但.NET开发者也可以通过.NET开发者中心找到相关的“如何”文章和下载资源。本文将介绍如何使用.NET来访问雅虎图片服务。
雅虎搜索网络服务是一个为开发者设计的平台,它允许开发者通过编程方式执行搜索操作。这个SDK包括了多种编程语言的支持,并且.NET开发者中心提供了丰富的资源,包括教程和下载。本文将这些信息整合成一个.NET API,它使用熟悉的请求-响应模式。
解决方案文件包含三个项目:
以下是使用库的一个基本示例:
C# using Com.WickedByte.YahooAPI;
YahooImageRequest request = new YahooImageRequest();
request.ApplicationId = "asdf1234";
request.Query = "Star Trek";
YahooImageResponse response = request.GetResponse();
其中,ApplicationId是一个必需的值,当作为开发者注册雅虎时会获得。它建立了调用雅虎搜索服务的应用程序的身份。Query是将要处理的特定搜索字符串。GetResponse()方法将查询序列化为HTTP GET请求,发送给雅虎,然后反序列化结果。
可以在YahooImageRequest上设置许多属性来修改搜索结果。例如,IsAdultOk属性可能会使这个应用程序变得相当受欢迎。YahooImageResponse也包含许多有用的属性,其中最重要的是Images属性。如果遍历这个属性,每个YahooImage元素都可以用来检索System.Drawing.Image缩略图或全尺寸图片。一旦检索到Image,它就会在YahooImage对象内缓存,因此多次调用GetImage()或GetThumbnailImage()不会导致多次Web下载。
C# foreach (YahooImage result in response.Images) {
System.Drawing.Image thumb = result.GetThumbnailImage();
System.Drawing.Image image = result.GetImage();
// 用下载的图片做一些事情...
}
本文没有涵盖.NET包装API中的大多数属性。可能想要探索源代码,看看有哪些功能可用。示例GUI应用程序展示了如何使用许多可用的属性。GUI也是多线程的,这样可以双击缩略图结果来检索全尺寸版本,同时其他搜索结果仍在返回。