【发布时间】:2022-01-08 08:28:31
【问题描述】:
我正在尝试通过 HTTP 从 Internet 获取实时交易数据,但它会不断更新,所以如果我 GET 数据,只要有可用数据,它就会继续下载。在我停止下载流之前,我可以访问数据。
在下载过程中如何访问数据流?
我尝试使用 Indy 的 TIdHTTP,所以我可以使用 SSL,但我尝试了 IdIOHandlerStream,但它已经用于 IdSSLIOHandlerSocketOpenSSL。所以我在这里完全一无所知。
这是对"multipart/form-data" 请求的响应。
请指导我...
Lrequest.Values['__RequestVerificationToken'] := RequestVerificationToken;
Lrequest.Values['acct'] := 'demo';
Lrequest.Values['pwd'] := 'demo';
try
Response.Text := Onhttp.Post('https://trading/data', Lrequest);
Form1.Memo1.Lines.Add(TimeToStr(Time) + ': ' + Response.Text);
except
on E: Exception do
Form1.Memo1.Lines.Add(TimeToStr(Time) + ': ' + E.ClassName +
' error raised, with message : ' + E.Message);
end;
更新:
数据是一个无穷无尽的 JSON 字符串,像这样:
{"id":"data","val":[{"rc":2,"tpc":"\\RealTime\\Global\\SGDIDR.FX","item":[{"val":{"F009":"10454.90","F011":"-33.1"}}]}]}
{"id":"data","val":[{"rc":2,"tpc":"\\RealTime\\Global\\SGDIDR.FX","item":[{"val":{"F009":"10458.80","F011":"-29.2"}}]}]}
等等,等等……
【问题讨论】:
标签: http delphi stream multipartform-data indy