使用Yahoo! Delphi中的查询语言(YQL)

Jus*_*ade 3 delphi yql delphi-2010

我看到yahoo yql可以在Web服务中获得许多信息,这些信息非常有用.但是,当我在谷歌搜索"Delphi yql"时.没有返回有用的信息.是否有任何帮助和示例如何使用Delphi发送请求并从yql获取结果?非常感谢.

Rem*_*eau 5

YQL是一种基于HTTP的协议.在Delphi中有很多使用HTTP的例子.这是使用Indy的TIdHTTP组件发送Yahoo的示例YQL查询的一个:

var
  YqlQuery: string;
  YqlResult: string;
  YqlResultCharset: string;
  YqlResultFormat: string;
  Url: string;
begin    
  YqlQuery := 'select * from geo.places where text="sunnyvale, ca"';
  YqlResultCharset := 'iso-8859-1'; // any valid IANA charset. YQL defaults to UTF-8
  YqlResultFormat := 'xml'; // can be either xml or json

  IdHTTP1.Request.ContentType := 'text/html';
  IdHTTP1.Request.Charset := YqlResultCharset;
  Url := 'http://query.yahooapis.com/v1/public/yql?q=' + TIdURI.ParamsEncode(YqlQuery) + '&format=' + YqlResultFormat;

  {
  Alternatively:

  IdHTTP1.Request.ContentType := '';
  IdHTTP1.Request.Charset := '';
  Url := 'http://query.yahooapis.com/v1/public/yql?q=' + TIdURI.ParamsEncode(YqlQuery + ' and charset="' + YqlResultCharset + '"') + '&format=' + YqlResultFormat;
  }

  YqlResult := IdHTTP1.Get(Url);
  // parse YqlResult as needed...
end;
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请参阅Yahoo的文档.