找不到任何方式来获取请求 headers
Can't find any way to get request headers
我正在尝试使用 vba 获取 request headers
。在 python
等其他语言中,有一种非常简单的方法可以获得 .headers
。但是,在 vba 的情况下,我被卡住了。
我知道 vba 中有一种方法可以通过使用 .getAllResponseHeaders
.
获得 response headers
如何使用 vba 获得 request headers
?
我就是这样得到的 response headers
:
Sub GetRequestHeaders()
Const URL$ = "https://whosebug.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
您应该使用 .setRequestHeader() 方法以编程方式设置您的请求 headers,否则它将成为默认的 IE 设置。
为什么需要取回已有的数据?
Python .headers
(假设使用 requests
库)提供响应 headers,而不是请求 headers。您在使用 get
传递的字典中添加自定义请求 headers。正如您所见,您可以使用 getAllResponseHeaders
读取 vba 中的响应 headers 并发送自定义 headers 以及键值对中的 setRequestHeader
。
我通常会使用 Fiddler/Dev 工具网络 tab/Wireshark 之类的东西来查看发送了哪些请求 header 然后模仿这些请求或阅读相关的 API 指导说明预计自定义请求 header。
这是 Fiddler 请求 header 捕获 url
的快照
WinHTTP 可能有一种使用 winhttpqueryheaders 的方法,但研究还不够,在大多数情况下使用网络选项卡要简单得多。
没有与 xmlhttp request/response 关联的方法来获取请求 headers。查看相关方法的 specification (WHATWG living standard)(在 VBA 实现中可能会有一些变化):
要处理 cookie,请参阅 MSXML2.ServerXMLHTTP。 Example.
我正在尝试使用 vba 获取 request headers
。在 python
等其他语言中,有一种非常简单的方法可以获得 .headers
。但是,在 vba 的情况下,我被卡住了。
我知道 vba 中有一种方法可以通过使用 .getAllResponseHeaders
.
response headers
如何使用 vba 获得 request headers
?
我就是这样得到的 response headers
:
Sub GetRequestHeaders()
Const URL$ = "https://whosebug.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
您应该使用 .setRequestHeader() 方法以编程方式设置您的请求 headers,否则它将成为默认的 IE 设置。 为什么需要取回已有的数据?
Python .headers
(假设使用 requests
库)提供响应 headers,而不是请求 headers。您在使用 get
传递的字典中添加自定义请求 headers。正如您所见,您可以使用 getAllResponseHeaders
读取 vba 中的响应 headers 并发送自定义 headers 以及键值对中的 setRequestHeader
。
我通常会使用 Fiddler/Dev 工具网络 tab/Wireshark 之类的东西来查看发送了哪些请求 header 然后模仿这些请求或阅读相关的 API 指导说明预计自定义请求 header。
这是 Fiddler 请求 header 捕获 url
的快照WinHTTP 可能有一种使用 winhttpqueryheaders 的方法,但研究还不够,在大多数情况下使用网络选项卡要简单得多。
没有与 xmlhttp request/response 关联的方法来获取请求 headers。查看相关方法的 specification (WHATWG living standard)(在 VBA 实现中可能会有一些变化):
要处理 cookie,请参阅 MSXML2.ServerXMLHTTP。 Example.