首页 > 解决方案 > 获取 JSON 响应 XMLHTTP 替代方案

问题描述

我有一个使用 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 上不起作用)?感谢先进的帮助。

标签: jsonexcelvbaxmlhttprequest

解决方案


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

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

推荐阅读