【问题标题】:Using Yahoo! Query Language (YQL) in Delphi使用雅虎! Delphi 中的查询语言 (YQL)
【发布时间】:2013-04-26 00:29:49
【问题描述】:

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

【问题讨论】:

    标签: delphi delphi-2010 yql


    【解决方案1】:

    YQL 是一种基于 HTTP 的协议。在 Delphi 中有很多使用 HTTP 的例子。这是一个使用 Indy 的TIdHTTP 组件发送Yahoo's example YQL query

    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;
    

    请参阅Yahoo's documentation 了解更多详情。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-08
      • 1970-01-01
      • 1970-01-01
      • 2016-04-27
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      相关资源
      最近更新 更多