我正在尝试使用MSXML2.XMLHTTP通过基本身份验证对GitHub API进行身份验证。我知道我需要使用Authorization HTTP标头传递我的凭据。
所以这是我的代码,但它总是返回未经身份验证的。 (根据GitHub API文档,404 / Not Found)。我究竟做错了什么? (显然,代码不使用我的真实凭据,只是"用户"和"密码"作为示例。)
Dim o
Set o = CreateObject("MSXML2.XMLHTTP")
o.open "GET", "https://api.github.com/user/", False, "user", "password"
o.setRequestHeader "Authorization", "Basic dXNlcjpwYXNzd29yZA=="
o.send
Wscript.Echo o.responseText
答案 0 :(得分:2)
我之前的回答是基于误解,所以我删除了它
Github API端点中的尾部斜杠确实很重要,/user
和/user/
不相等。您获得了真正的404 Not Found
,而不是Github授权相关的解决方法404响应之一。
这将有效:
Dim o
Set o = CreateObject("MSXML2.XMLHTTP")
o.open "GET", "https://api.github.com/user", False
o.setRequestHeader "Authorization", "Basic dXNlcjpwYXNzd29yZA=="
o.send
Wscript.Echo o.responseText