【问题标题】:How to read the header from a TIdHTTP get如何从 TIdHTTP get 中读取标头
【发布时间】:2019-04-25 06:13:05
【问题描述】:

我正在使用TIdHTTP.Get() 以 JSON 格式检索记录。它只会向我发送前 1000 条记录,如果有的话,它会在标题中包含下 1000 条的 URL。

我可以在 PostMan 中看到标头,但如何通过此调用访问它?

jsontxt := IdHTTP1.Get(url);

【问题讨论】:

    标签: delphi indy


    【解决方案1】:

    一旦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 = '';
    

    【讨论】:

    • 在 Indy 10 中使用 Delphi XE6。响应没有标头作为属性。
    • 抱歉,我指的是RawHeaders,而不是Headers。我已经更新了答案。
    • 感谢查看所有属性后找到它,准备发布它。
    猜你喜欢
    • 2018-07-21
    • 2011-08-25
    • 2021-10-07
    • 1970-01-01
    • 1970-01-01
    • 2023-01-14
    • 1970-01-01
    • 1970-01-01
    • 2015-11-26
    相关资源
    最近更新 更多