gpt4 book ai didi

excel - 找不到任何获取请求 header 的方法

转载 作者:行者123 更新时间:2023-12-04 21:30:30 25 4
gpt4 key购买 nike

我正在尝试获取 request headers使用 vba。在其他语言中,例如 python有一个非常简单的方法可以得到 .headers .但是,在 vba 的情况下,我被卡住了。
我知道虽然在 vba 中有一种方法可以获取 response headers通过使用 .getAllResponseHeaders .

我怎样才能得到request headers使用vba?

这就是我得到 response headers 的方式:

Sub GetRequestHeaders()
Const URL$ = "https://stackoverflow.com/questions/tagged/web-scraping"
Dim Http As New XMLHTTP60, S$

With Http
.Open "GET", URL, False
.send
S = .getAllResponseHeaders
MsgBox S
End With
End Sub

最佳答案

python .headers (假设使用 requests 库)提供响应 header ,而不是请求 header 。您在使用 get 传递的字典中添加自定义请求 header .正如您所看到的,您可以使用 getAllResponseHeaders 读取 vba 中的响应 header 。并使用 setRequestHeader 发送自定义 header 在键值对中。

我通常会使用 Fiddler/Dev 工具网络选项卡/Wireshark 之类的东西来查看发送了哪些请求 header ,然后模仿这些 header 或阅读相关的 API 指南,指定预期的自定义请求 header 。

这是该 url 的 Fiddler 请求 header 捕获的快照

enter image description here

WinHTTP 可能有一种使用 winhttpqueryheaders 的方法但是还没有进行足够的研究,并且在大多数情况下仅使用网络选项卡要简单得多。

没有与 xmlhttp 请求/响应关联的方法来获取请求 header 。看看specification (WHATWG living standard )用于相关方法(可能是 VBA 实现的一些变化):



要处理 cookie,请查看 MSXML2.ServerXMLHTTP。 Example .

关于excel - 找不到任何获取请求 header 的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53928849/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com