我如何在 VB.net 中使用类似的 VBA 代码? (
How can i use the similar VBA code in VB.net ? (
我有这个代码,它发出一个 http 请求,returns 结果在 VBA (Excel) 中。
有谁知道如何在 VB.net 中做类似的事情?
Sub GetRequest()
MYURL = "xxx"
Accesstoken = "xxx"
'Send Request and get JSON Response
Set xmlhttp = CreateObject("MSXML2.serverXMLHTTP")
xmlhttp.Open "GET", myurl, False
xmlhttp.setRequestHeader "Authorization", "Bearer " & AccessToken
xmlhttp.Send
JsonResponse = xmlhttp.responseText
Debug.Print xmlhttp.responseText
'Parse JSON
Set Json = JsonConverter.ParseJSON(JsonResponse)
Debug.Print xmlhttp.responseText
Set xmlhttp = Nothing
End Sub
感谢您的帮助,我是 vb.net 的新手,主要只使用 excel VBA
到 send/receive HTTP requests/responses,通常您会使用 HttpClient class (documentation)。特别是在这种情况下,您会:
- 调用 GetAsync 方法 (documentation) 提交请求
- 检查响应的 StatusCode (documentation) 以验证是否返回了成功的响应(大概是 OK - 200 状态)
- 如果返回成功响应,获取响应的内容(documentation)
这里有一个函数(未经测试)可以让您朝着正确的方向前进:
Imports System.Net
Imports System.Net.Http
Imports System.Threading.Tasks
Imports System.Text
'...
Private Async Function SendGet(url As String) As Task(Of String)
Dim body = String.Empty
Using client = New HttpClient
Dim response = Await client.GetAsync(url)
If (response.StatusCode = HttpStatusCode.OK) Then
body = Await response.Content.ReadAsStringAsync()
End If
End Using
Return body
End Function
我有这个代码,它发出一个 http 请求,returns 结果在 VBA (Excel) 中。 有谁知道如何在 VB.net 中做类似的事情?
Sub GetRequest()
MYURL = "xxx"
Accesstoken = "xxx"
'Send Request and get JSON Response
Set xmlhttp = CreateObject("MSXML2.serverXMLHTTP")
xmlhttp.Open "GET", myurl, False
xmlhttp.setRequestHeader "Authorization", "Bearer " & AccessToken
xmlhttp.Send
JsonResponse = xmlhttp.responseText
Debug.Print xmlhttp.responseText
'Parse JSON
Set Json = JsonConverter.ParseJSON(JsonResponse)
Debug.Print xmlhttp.responseText
Set xmlhttp = Nothing
End Sub
感谢您的帮助,我是 vb.net 的新手,主要只使用 excel VBA
到 send/receive HTTP requests/responses,通常您会使用 HttpClient class (documentation)。特别是在这种情况下,您会:
- 调用 GetAsync 方法 (documentation) 提交请求
- 检查响应的 StatusCode (documentation) 以验证是否返回了成功的响应(大概是 OK - 200 状态)
- 如果返回成功响应,获取响应的内容(documentation)
这里有一个函数(未经测试)可以让您朝着正确的方向前进:
Imports System.Net
Imports System.Net.Http
Imports System.Threading.Tasks
Imports System.Text
'...
Private Async Function SendGet(url As String) As Task(Of String)
Dim body = String.Empty
Using client = New HttpClient
Dim response = Await client.GetAsync(url)
If (response.StatusCode = HttpStatusCode.OK) Then
body = Await response.Content.ReadAsStringAsync()
End If
End Using
Return body
End Function