You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将cURL请求改写为MS Access VBA的WinHttp.WinHttpRequest.5.1代码

将PowerShell中的cURL请求转换为MS Access VBA代码(使用WinHttp.WinHttpRequest.5.1)

以下是对应你提供的cURL请求的VBA实现,完全匹配原请求的所有参数:

Sub GetExchangeRates()
    Dim httpRequest As Object
    Dim apiUrl As String
    Dim responseText As String
    
    ' 初始化WinHttpRequest对象
    Set httpRequest = CreateObject("WinHttp.WinHttpRequest.5.1")
    
    ' 对应cURL的`-k`参数:忽略SSL证书验证错误
    httpRequest.SetOption 4, 13056 ' WINHTTP_OPTION_SECURITY_FLAGS = 4, SECURITY_FLAG_IGNORE_UNKNOWN_CA = 0x3300 (13056)
    
    ' 目标API地址(和cURL中的URL完全一致)
    apiUrl = "https://api.xxx.com/open/api/exchange-rates/v1/exchange-rates?validityDateTime=2023-03-30T06%3A00%3A00.000Z"
    
    ' 打开GET请求(对应cURL的`-X GET`)
    httpRequest.Open "GET", apiUrl, False
    
    ' 添加请求头,对应cURL中的`-H`参数
    httpRequest.SetRequestHeader "accept", "*/*"
    httpRequest.SetRequestHeader "x-correlation-id", "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
    httpRequest.SetRequestHeader "x-api-key", "Bearer aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaaa"
    
    ' 发送请求
    httpRequest.Send
    
    ' 获取响应内容
    responseText = httpRequest.ResponseText
    
    ' 这里可以添加处理响应的逻辑,比如输出到调试窗口
    Debug.Print responseText
    
    ' 释放对象
    Set httpRequest = Nothing
End Sub

关键参数对应说明:

  • SetOption 4, 13056:对应cURL的-k(--insecure),用于忽略SSL证书验证问题,适合测试环境使用
  • Open "GET", apiUrl, False:False表示同步请求,执行时会等待响应返回
  • SetRequestHeader:逐一添加原cURL中指定的三个请求头,确保请求身份验证和格式符合API要求

你可以直接将这段代码复制到Access的VBA模块中,替换占位的x-correlation-id和x-api-key为实际值后运行。

内容的提问来源于stack exchange,提问作者ThomassoCZ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 10:02:06