首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过VBA实现的cURL (Maxmind)

通过VBA实现的cURL (Maxmind)
EN

Stack Overflow用户
提问于 2014-12-24 05:15:00
回答 1查看 1.1K关注 0票数 1

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

代码语言:javascript
复制
curl -u "{user_id}:{license_key}" \
    "https://geoip.maxmind.com/geoip/v2.1/city/me?pretty"

从其他例子中,我尝试了以下几种方法:

代码语言:javascript
复制
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的经验,而且我知道的是自学的,所以要温文尔雅……

如果有人能够分享他们的知识,我将不胜感激。

Maxmind提供的更多信息:

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

非常感谢!

PS。如果我将URL放在浏览器中,在消息框中输入用户名和密码,浏览器会返回所需的信息,这样我就知道服务和我的凭据是有效的。我猜我的代码甚至还没有走到那一步。

EN

回答 1

Stack Overflow用户

发布于 2014-12-28 01:18:22

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

代码语言:javascript
复制
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

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

希望它能帮助一些人!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27628089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档