65.9K
CodeProject 正在变化。 阅读更多。
Home

通过 XML 访问 Google 搜索算法

starIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIconemptyStarIcon

1.24/5 (8投票s)

2004 年 11 月 3 日

3分钟阅读

viewsIcon

49385

如何使用 XML 从您的网站内部访问 Google 搜索功能

引言

XML 已经成为数据传输领域最热门的新技术。这是计算机历史上第一次,如此新的技术被所有主要参与者采用并标准化!XML 最初是事实上的数据交换标准,预计很快将成为法律上的标准。

本文展示了如何使用 XML 和 ASP 访问 Google 搜索功能。

先决条件和代码

首先,大家必须明白 XML 不是一种语言。它是一种机制,用于促进紧密耦合和松散耦合系统之间无缝且透明的数据交换。大多数主要的编程语言都包含了对 XML 的支持。就我们的目的而言,使用的编程环境将是带有 VBScript 的 ASP。

您还必须安装 Microsoft 在 IE 中提供的 MSXML 才能运行此代码。如果您使用的是 IE 5 或更高版本,则您的计算机上已经安装了 MSXML。如果您没有安装 MSXML 解析器,则在尝试创建下面的 XMLHTTP 对象时会收到 PROG ID 错误。要下载 MSXML,请访问 Microsoft

要访问 Google 搜索数据,您需要创建一个 XMLHTTP 对象

set xml = Server.CreateObject("Microsoft.XMLHTTP")
如果您使用的是 XMLHTTP 的 3.0 版本,您将使用以下代码
Set xml = Server.CreateObject("MSXML2.ServerXMLHTTP")

此代码创建了 XMLHTTP 的一个实例。 XMLHTTP 将用于通过 HTTP 发送请求和接收响应。到目前为止,我们所做的只是创建一个对象,该对象将保存 Google 发送给我们的应用程序的响应。

对象实例化后,您需要像这样与 Google 建立连接

xml.Open "GET", "http://www.google.com/search?q=features+of+XML", False
xml.Send 
这将建立 Google 和您的应用程序之间的连接,并使用 GET 发回数据。

请注意我们正在访问的 URL。它包含完整的 URL 以及将发送到 Google 的查询字符串参数。在实际应用中,这些硬编码的值理想情况下应该由用户提交。为此,您必须创建一个表单,提交值,接收它们,然后将它们传递到 XMLHTTP open 方法中。

建立连接并发送请求后,需要做的就是接收响应,显示它并销毁对象以释放资源。这可以通过以下方式完成

Response.Write (xml.responseText)
xml = Nothing 

了解 XMLHTTP Open 方法

XMLHTTP 支持各种方法,其中一种是 Open 方法。 Open 方法采用以下形式

open(Method, URL, Async, User, Password)
  • Method:一个字符串值,指定用于打开连接的方法。在本例中,我们使用 GET。其他可能的值包括 POST、PUT 或 PROPFIND
  • RL:相对或绝对 URL
  • Async:一个布尔值,指示调用是否为异步。默认值为 TRUE。
  • User:站点需要身份验证的可选字符串值
  • Password:站点需要身份验证的可选字符串值。

回顾

让我们看看完整的源代码


  
  ' Create an xmlhttp object:

    set xml = Server.CreateObject("Microsoft.XMLHTTP")

  ' Version 3.0 of XMLHTTP, use:

  ' Set xml = Server.CreateObject("MSXML2.ServerXMLHTTP")


  ' Opens the connection to the remote server.

    xml.Open "GET", "http://www.google.com/search?q=XMLHTTP+FAQ", False

  ' Actually Sends the request and returns the data:

    xml.Send

    Response.Write (xml.responseText)
    xml = Nothing

代码的可能扩展

XMLHTTP API 可用于从任何网站访问二进制和简单的 HTML 数据。因此,您可以轻松地使用 XMLHTTP API 请求远程文件或请求远程网页。上面的示例是在您自己的网站上包含 Google 搜索功能的经典方法。这里要记住的一点是,XMLHTTP 可用于从任何网站获取远程数据。因此,您可以同样使用 Yahoo 甚至 Altavista 来接收数据。

XMLHTTP 也可用于访问安全网站或需要身份验证的数据。 Open 方法可用于指定用户名和密码(均为可选)作为第三个和第四个参数。但是,这将是另一天的话题。祝您玩得愉快,祝您好运!

© . All rights reserved.