【发布时间】:2019-04-25 06:13:05
【问题描述】:
我正在使用TIdHTTP.Get() 以 JSON 格式检索记录。它只会向我发送前 1000 条记录,如果有的话,它会在标题中包含下 1000 条的 URL。
我可以在 PostMan 中看到标头,但如何通过此调用访问它?
jsontxt := IdHTTP1.Get(url);
【问题讨论】:
我正在使用TIdHTTP.Get() 以 JSON 格式检索记录。它只会向我发送前 1000 条记录,如果有的话,它会在标题中包含下 1000 条的 URL。
我可以在 PostMan 中看到标头,但如何通过此调用访问它?
jsontxt := IdHTTP1.Get(url);
【问题讨论】:
一旦TIdHTTP.Get() 退出,可以通过TIdHTTP.Response.RawHeaders 属性访问原始响应标头。许多标头在TIdHTTP.Response 对象中也有自己的专用子属性。如果您想要的标头没有,您可以使用RawHeaders.Values[] 属性来读取它,例如:
jsontxt := IdHTTP1.Get(url);
url := IdHTTP1.Response.RawHeaders.Values['the-next-url-header'];
如果标头不存在,Values[] 将简单地返回一个空白字符串,例如:
url := ...;
repeat
jsontxt := IdHTTP1.Get(url);
//...
url := IdHTTP1.Response.RawHeaders.Values['the-next-url-header'];
until url = '';
【讨论】:
RawHeaders,而不是Headers。我已经更新了答案。