3

yahoo yql は Web サービスで非常に役立つ多くの情報を取得できるようです。ただし、Googleで「Delphi yql」を検索すると。有用な情報は返されません。Delphi を使用してリクエストを送信し、yql から結果を取得する方法のヘルプとサンプルはありますか? どうもありがとう。

4

1 に答える 1

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;

詳細については、Yahoo のドキュメントを参照してください。

于 2013-04-26T01:40:19.673 に答える