Excel VBA调用API时如何读取HTTP响应头?
在Excel VBA中获取API响应头的方法
你可以通过代码里的http对象(XMLHTTP/WinHttpRequest)提供的方法直接获取响应头,具体操作如下:
获取单个指定响应头
使用GetResponseHeader方法,传入目标响应头的字段名即可拿到对应值。比如API将认证令牌放在Authorization头中,代码示例:
http.Open "GET", APIString, False http.send ' 获取认证令牌所在的响应头 Dim authToken As String authToken = http.GetResponseHeader("Authorization") ' 可根据需要处理令牌,比如保存到变量或单元格 Debug.Print authToken
获取所有响应头
如果需要查看全部响应头内容,使用GetAllResponseHeaders方法,它会返回所有响应头的字符串(每行一个键值对):
http.Open "GET", APIString, False http.send Dim allHeaders As String allHeaders = http.GetAllResponseHeaders() ' 输出所有响应头到调试窗口 Debug.Print allHeaders
注意事项
- 必须在
http.send执行完成后再调用上述方法,否则无法获取到响应头数据 - 确认API返回的认证令牌对应的头字段名称(比如部分API会用
X-Auth-Token而非Authorization),字段名区分大小写
内容的提问来源于stack exchange,提问作者Eliabe Vieira
相关产品推荐
相关产品推荐

