【這個問題已經發布在懸賞求助 http://ask.csdn.net/questions/239335,如有重復請版主酌情處理】
OANDA網站提供的REST API可以讀取賬戶資訊("https://api-fxtrade.oanda.com/v1/accounts),以及提供流報價(streaming,比如"https://stream-fxtrade.oanda.com/v1/prices?accountId=12345&instruments=AUD_CAD%2CAUD_CHF" )。
目前在XE7版本,使用Delphi提供的RestClient組件可以實作讀取賬戶資訊。但是,對于服務端的流資料,由于其傳輸方式是 chunked transfer encoding,按照賬戶資料讀取方式則會在停在最后Excute無法獲得回傳的Json字串。
代碼如下:
function GetStreamingPrices:TQJson
var
....
begin
Result := TQJson.Create;
// Get
_RESTRequest.Method := rmGET;
//指定資源位置:'/prices'
_RESTRequest.Resource := TRequestSourceURITemplate.Prices;
//生成query串:accountId=12345&instruments=AUD_CAD%2CAUD_CHF
_RESTRequest.AddParameter(TQueryPairKey.AccountID,accountlist[0],pkGETorPOST);
_RESTRequest.AddParameter(TQueryPairKey.Instruments,'EUR_USD',pkGETorPOST);
//URL
._RestClient.BaseURL := 'https://stream-fxtrade.oanda.com/v1';
//執行
_RestRequest.Execute;
//決議為Json
Result.tryParse(_RESTResponse);
end;
so,請教,如何使用Delphi XE7 的RestClient 獲取 chunked transfer encoding 的流資料?請不吝賜教。
uj5u.com熱心網友回復:
自己搞定了,解決方法請看這里 http://ask.csdn.net/questions/239335#轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/71329.html
標籤:網絡通信/分布式開發
上一篇:氣象資料nc檔案顯示問題
