如何访问http请求中的响应头 [英] How do I Access Response Header in Http Request

查看:33
本文介绍了如何访问http请求中的响应头的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在调用外部API。令人恼火的是,它返回的数据在标题中(文本响应为空)。

如何访问响应的标头?

这就是我正在尝试的内容:

    Dim  httpRequest, postResponse
    Set httpRequest = Server.CreateObject("MSXML2.ServerXMLHTTP")
    httpRequest.Open "POST", "http://www.api.com", False, "un", "pw"
    httpRequest.SetRequestHeader "Content-Type", "application/json"
    httpRequest.setRequestHeader "Content-Length", len(jsondata)
    httpRequest.Send data
    if httpRequest.status = 200 then
        response.write httpRequest.getResponseHeader
        response.write httpRequest.ResponseText
    end if
    Set httpRequest = nothing

但它给了我:

    msxml3.dll error '80072f76'

    The requested header was not found

还有一个额外的问题:我刚刚注意到"MSXML2.ServerXMLHTTP"的"XML"部分-我使用的协议是否正确?它一直适用于直发帖子,直到现在。

推荐答案

您需要指定要检索的response header的名称:

response.write httpRequest.getResponseHeader("SomeHeaderName")

不只有一个响应头。可能会有很多人。您可以使用Content-Type等标准响应标头,也可以使用自定义标头。

还有一个额外的问题:我刚刚注意到 "MSXML2.ServerXMLHTTP"-我使用的协议是否正确?

是的,绝对正确,这是从传统ASP应用程序中用来发送HTTP请求的正确COM对象。

这篇关于如何访问http请求中的响应头的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆