Asp classic 如何访问Http请求中的响应头

Asp classic 如何访问Http请求中的响应头,asp-classic,http-headers,httprequest,Asp Classic,Http Headers,Httprequest,我正在调用一个外部API。令人烦恼的是,它返回的数据位于标题中(文本响应为空) 如何访问响应的标题 这就是我正在尝试的: Dim httpRequest, postResponse Set httpRequest = Server.CreateObject("MSXML2.ServerXMLHTTP") httpRequest.Open "POST", "http://www.api.com", False, "un", "pw" httpRequest.Set

我正在调用一个外部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.write httpRequest.getResponseHeader("SomeHeaderName")
没有一个响应头。可能有很多。您有标准的响应头,如
内容类型
,也可以有自定义头

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


是的,绝对正确,这是从经典ASP应用程序中用于发送HTTP请求的正确COM对象。

您是否缺少要检索的标头?aka
httpRequest.getResponseheader(“服务器”)
如图所示,谢谢Darin,这正是我想要的答案-非常感谢