cURL via VBA (Maxmind)



我正在尝试在VBA中运行以下cURL请求(由Maxmind提供):

curl -u "{user_id}:{license_key}" 
    "https://geoip.maxmind.com/geoip/v2.1/city/me?pretty"

从其他例子中,我尝试了以下内容:

Sub maxmind_query()
Dim TargetURL As String
Dim HTTPReq As Object
TargetURL = "https://geoip.maxmind.com/geoip/v2.1/city/me"
Set HTTPReq = CreateObject("WinHttp.WinHttpRequest.5.1")
HTTPReq.Option(4) = 13056 '
HTTPReq.Open "PUT", TargetURL, False
HTTPReq.SetCredentials "XXXXX", "YYYYYYYY", 0
HTTPReq.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
HTTPReq.send ("test[status]=" & Forms!curl!Text0.Value & "&test2[status]=" & Text2.Value)
MsgBox (HTTPReq.responseText)
End Sub
'''XXXX is my user id, YYYY my license key, removed for obvious reasons!

HTTPReq.send 上的此错误(需要运行时错误 424 对象)让我感到困惑。

我对 cURL 一无所知,所以尽管进行了几天的研究和盲目尝试,但我仍然很难用上面的代码去任何地方。

我只对 VBA 有经验,我所知道的都是自学成才的,所以要温柔......

如果有人能够分享他们的知识,我将非常有义务。

麦克明提供的更多信息:

http://dev.maxmind.com/geoip/geoip2/web-services/#Per-Service_URIshttp://dev.maxmind.com/geoip/geoip2/web-services/#Command_Line_curl_Example

非常感谢!

附言。 如果我将 URL 放入浏览器中,在消息框中输入用户名和密码,浏览器将返回所需的信息,因此我知道服务和我的凭据有效。我想我的代码甚至没有走那么远。

让它工作,这是我的方法:

Sub Maxmind()
Dim MyRequest As Object
    Set MyRequest = CreateObject("WinHttp.WinHttpRequest.5.1")
    MyRequest.Open "GET", _
    "https://geoip.maxmind.com/geoip/v2.1/city/me"
    MyRequest.SetCredentials "user", "password", 0
    ' Send Request.
    MyRequest.Send
    'And we get this response
    MsgBox MyRequest.ResponseText
End Sub

这主要是从这里复制的所以感谢以前的贡献者。

希望它对某人有所帮助!

相关内容

  • 没有找到相关文章

最新更新