【问题标题】:Get JSON response XMLHTTP alternative获取 JSON 响应 XMLHTTP 替代方案
【发布时间】:2020-07-13 22:27:28
【问题描述】:

我有一个使用 XMLHTTP API 请求的工作代码 这是代码

Const sURL As String = "https://developers.zomato.com/api/v2.1/restaurant?res_id=258"
Dim http As MSXML2.XMLHTTP60, html As MSHTML.HTMLDocument, json As Object, r As Long


Set http = New MSXML2.XMLHTTP60
Set html = New MSHTML.HTMLDocument
r = 2

With http
    .Open "Get", sURL, False
    .setRequestHeader "User-Agent", "Mozilla/5.0"
    .setRequestHeader "user-key", "APIKEY"
    .send
    html.body.innerHTML = .responseText

    Set json = JSONConverter.ParseJson(.responseText)

是否有其他方法可以在不使用 XMLHTTP 库的情况下获取 JSON 响应(因为这在 MAC 上不起作用)? 感谢高级的帮助。

【问题讨论】:

  • 非常感谢。我已经下载了VBA-Web - Installer 文件,然后浏览我的 excel 文件,其中包含代码并且所有内容都已正确安装。我猜我必须使用Set json = WebHelpers.ParseJson(.ResponseText) 而不是JSONConverter,这很好用。有一点,不知道怎么替代的是XMLHTTP?
  • @QHarr 你能告诉我如何使用 Web-Tools 发送 HTTP 请求的例子吗?
  • 你看过文档吗?
  • 是的,我读了很多书,但我迷路了,因为你知道英语不是我的母语,所以这对我来说会花费太多时间。

标签: json excel vba xmlhttprequest


【解决方案1】:

我已经能够对其进行配置并使其工作

Sub Test()
Const sUrl As String = "https://reqres.in/api/users/2"
Dim Response As New WebRequest, Client As New WebClient, rObj As Object, json As Object

Client.BaseUrl = sUrl

With Response
    .Method = WebMethod.HttpGet
    .RequestFormat = WebFormat.json

End With

Set rObj = Client.Execute(Response)
Set json = WebHelpers.ParseJson(rObj.Content)

Debug.Print rObj.Content
Debug.Print json("data")("email")
End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-26
    • 1970-01-01
    • 1970-01-01
    • 2014-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多